###■経緯
- 以前、[類似質問をTeratail
- 今回、別のサイト(amazon.co.jp)で、CSSでは抽出できるのにXpathで抽出できずに[]という空(?)の値が返ってくる現象に遭遇しました。
###■質問
以下の環境で、Xpathにてテキスト(例: Tarzan(ターザン) 2018年11月8日号 No.752※)が正常に抽出できる方法を教えていただけますでしょうか?
※テキスト内容は閲覧時期で変化すると思います。
【手順1】 Scrapy shellでAmazonの特定ページを開く
Scrapy
1scrapy shell -s USER_AGENT='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' 'https://www.amazon.co.jp/%E6%9C%AC-%E9%80%9A%E8%B2%A9/b/ref=sd_allcat_jb?ie=UTF8&node=465392'
【手順2】同じ要素をresponse.xpath()でテキスト抽出を試みると、xpathの抽出結果が[]で返ってくる(=空っぽ)。一方、response.css()では意図したとおりに、テキスト抽出できる。
Scrapy
1In [7]: response.xpath('//*[@id="anonCarousel2"]/ol/li[1]/div[1]/a/span/text()').extract() 2Out[7]: [] 3 4In [8]: response.css('.a-size-small::text').extract() 5Out[8]: 6[u'Tarzan(\u30bf\u30fc\u30b6\u30f3) 2018\u5e7411\u67088\u65e5\u53f7 No.752', 7 u'\n\t\tKindle\u7248\n\t', 以下略
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/01 01:00
2018/11/01 01:13