scrapy shell 'https://itunes.apple.com/us/album/no-tears-left-to-cry/1374085537?i=1374087460&v0=WWW-NAUS-ITSTOP100-SONGS&l=en&ign-mpt=uo%3D4'我想从这里得到专辑“泪流满面-Single”,Itunes图表_音乐预览页“无泪可泣-Single / Ariana Grande”专辑名称的xpath是这样的: //*[@id="ember653"]/section[1]/div/div[2]/div[1]/div[2]/header/h1我试图response.xpath('//*[@id="ember653"]/section[1]/div/div[2]/div[1]/div[2]/header/h1')但是结果是 []如何从此wepsite获取相册信息?
2 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
您最好避免JS渲染,该渲染太慢,繁琐且容易出错。在Chrome的“网络”标签中花费5分钟,以查找数据源。它通常内置在页面源中或通过XHR请求传递。
在这种情况下,所需的所有数据都可以在页面本身上找到,但是您应该检查其源代码,而不是呈现的版本。ctrl+u在chrome中使用,然后ctrl+f查找所有需要的零件。
import json
track_data = response.xpath('//script[@name="schema:music-album"]/text()').extract_first()
track_json = json.loads(track_data)
track_title = track_json['name']
yield {'title': track_title}
在这种情况下可以解决问题,并且比大约快5到7倍 splash
添加回答
举报
0/150
提交
取消