【发布时间】:2016-06-23 15:18:55
【问题描述】:
我正在尝试抓取一个网站,但我遇到了一个问题,即使用 Request JS,我得到了一个要传递给 Cheerio 的 HTML 字符串。
令人困惑的部分是我试图抓取的 HTML 字符串中确实存在一些部分,但是当我使用 Cheerio 尝试抓取它们时,虽然它在那里却找不到它......
例如,在另一个表的最后一行内有一个带有 ID 的表,我希望通过使用该 ID 作为选择器,我可以获取所有子 TR,但是我得到的是第一个 TR,然后是另一个里面有一个 TD,然后是第二个 TR 的突然关闭,然后是表格的结束标记。
从console.logging HTML 字符串发送到cheerio.load 之前,我可以看到第二个TR 中显然有更多信息,然后是在关闭该表之前的多个其他TR。但是当我通过cheerio 运行它时,它告诉我的不是这个。
现在正在查看其余部分(尽管不知道这是否重要...)我注意到其中有 href="javascript:void(0)" —— 这样的事情会不会让 Cheerio 失望?
感谢您的帮助。
经过进一步调查,如果我使用 'td:contains("this text")' 之类的选择器,则会出现此问题。但据我所知,没有任何其他方式。
另外,javascript:void(0) 没有引起问题,我使用正则表达式删除了它的所有实例,但仍然有谜团。
【问题讨论】: