scrapy shell xpath从itunes.apple.com返回空列表

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获取相册信息?


哈士奇WWW
浏览 135回答 2
2回答

慕神8447489

您最好避免JS渲染,该渲染太慢,繁琐且容易出错。在Chrome的“网络”标签中花费5分钟,以查找数据源。它通常内置在页面源中或通过XHR请求传递。在这种情况下,所需的所有数据都可以在页面本身上找到,但是您应该检查其源代码,而不是呈现的版本。ctrl+u在chrome中使用,然后ctrl+f查找所有需要的零件。import jsontrack_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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python