Scrapy Xpath:从 img 节点中提取@title
Scrapy Xpath: Extracting @title from img node
我想从本页的 根据您的投票 部分的主要注释中提取 @title
:https://www.fragrantica.com/perfume/Remy-Latour/Cigar-9351.html
我获取了 HTML,然后在 scrapy shell
上尝试了这行代码,但输出是 None
:
response.xpath('//*[@id="userMainNotes"]/div/img/@title).extract_first()
我做错了什么?
如果您查看源代码 (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 呈现的,这就是您的代码不起作用的原因。
这会起作用
response.xpath('//span[contains(@id, "note")]/img[@rel]/@title')
不要忘记将 USER AGENT 设置为您的 settings.py
我想从本页的 根据您的投票 部分的主要注释中提取 @title
:https://www.fragrantica.com/perfume/Remy-Latour/Cigar-9351.html
我获取了 HTML,然后在 scrapy shell
上尝试了这行代码,但输出是 None
:
response.xpath('//*[@id="userMainNotes"]/div/img/@title).extract_first()
我做错了什么?
如果您查看源代码 (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 呈现的,这就是您的代码不起作用的原因。
这会起作用
response.xpath('//span[contains(@id, "note")]/img[@rel]/@title')
不要忘记将 USER AGENT 设置为您的 settings.py