javascript - Scrapy 选择器无法返回所需的字符,可能是由于 Javascript

标签 javascript scrapy

我正在尝试从这个中文网页 http://bxt.harbin.gov.cn/hrb_bzbxt/disshow.php?id=551950 中抓取数据。

在 Scrapy shell 中,我无法在任何 td 元素中获取任何文本。例如,response.xpath("/html/body/center[2]/table/tbody/tr[2]/td[3]/text()").extract()返回一个空列表。其他类似命令也会返回相同的结果。当我更仔细地检查 html 时,我在 head 元素中找到了这个:“script language =”javascript”。我不确定这是否是问题的原因。有人能帮我弄清楚吗?我在 Stackoverflow 上搜索了相关内容主题,但对我来说太复杂了,无法理解。谢谢您的帮助!

最佳答案

这里的问题是您正在使用完整路径来获取您想要的信息,这是没有必要的,因此不需要遵循 html -> body -> 中心

您可以直接转到所需的 td 信息,例如:

response.xpath('//td/text()')

它将返回一个选择器列表(td 标记内的每个文本)以迭代您需要的信息。

关于javascript - Scrapy 选择器无法返回所需的字符,可能是由于 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241704/

相关文章:

python - 学习Python和Scrapy

python - Scrapy 忽略 allowed_domains?

javascript - javascript onclick 函数不起作用

python - Scrapy:动态地将参数从命令行传递到管道

python - Scrapy:如何检查以前抓取的页面是否已被删除?

javascript - JavaScript读取串口数据的方法

javascript - Scrapy 与 Javascript 分页

javascript - 单击 RadioButton 调用 javascript 函数

javascript - 从按钮调用 javascript 与链接调用 javascript

javascript - 在 Javascript Hashmap 中使用坐标作为键的最快方法