为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哈士奇WWW 2021-04-03 14:08:10
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


查看完整回答
反对 回复 2021-04-20
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信