Scrapy Xpath:从img节点提取@title

时间:2018-09-09 09:38:47

标签: python scrapy scrapy-shell

我想从此页面的主要注释根据您的投票部分中提取@titlehttps://www.fragrantica.com/perfume/Remy-Latour/Cigar-9351.html

我已经获取了HTML,然后在scrapy shell上尝试了这一行代码,但输出为None

response.xpath('//*[@id="userMainNotes"]/div/img/@title).extract_first()

我在做什么错了?

2 个答案:

答案 0 :(得分:2)

如果您查看源代码(Ctrl+U),则会发现:

<div title="96:241;171:117;33:103;34:103;41:70;128:63;4:59;182:59;170:58;75:56;191:48;21:39;77:39;14:28" id="userMainNotes">Loading...</div>

这意味着<div>以上是由Javascript渲染的,这就是您的代码不起作用的原因。

答案 1 :(得分:0)

这将起作用

response.xpath('//span[contains(@id, "note")]/img[@rel]/@title')

不要忘记将USER AGENT设置为您的settings.py

Crawler data form website use Scrapy 1.5.0 - Python