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圖表_音樂預(yù)覽頁“無淚可泣-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')但是結(jié)果是 []如何從此wepsite獲取相冊信息?
2 回答

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
您最好避免JS渲染,該渲染太慢,繁瑣且容易出錯(cuò)。在Chrome的“網(wǎng)絡(luò)”標(biāo)簽中花費(fèi)5分鐘,以查找數(shù)據(jù)源。它通常內(nèi)置在頁面源中或通過XHR請求傳遞。
在這種情況下,所需的所有數(shù)據(jù)都可以在頁面本身上找到,但是您應(yīng)該檢查其源代碼,而不是呈現(xiàn)的版本。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
添加回答
舉報(bào)
0/150
提交
取消