Amazonの検索結果ページを解析しようとしています。 <li>
タグに含まれるデータにアクセスするには、<id=result_0>
,<id=result_1>
、<id=result_2>
などがあります。find_all('li')
関数は4つの結果しか返しません(result_3まで)。私はブラウザでウェブページを表示すると、 12結果。Beautifulsoup find_allが完全な結果を返さないのはなぜですか?
parsed_html
を印刷すると、result_23に至るまで表示されています。 find_allが24個のオブジェクトをすべて返さないのはなぜですか?私のコードのスニペットは以下の通りです。何が価値があるために
import requests
try:
from BeautifulSoup import bsoup
except ImportError:
from bs4 import BeautifulSoup as bsoup
search_url = 'https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-
alias%3Dstripbooks&field-keywords=data+analytics'
response = requests.get(search_url, headers={
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"})
parsed_html = bsoup(response.text)
results_tags = parsed_html.find_all('div',attrs={'id':'atfResults'})
results_html = bsoup(str(results_tags[0]))
results_html.find_all('li')
、results_tags
オブジェクトはまた、唯一の4件の結果が含まれています。だから私は問題がBeautifulSoupオブジェクトではなく、find_all
のステップにあると思っているのです。
ここに何が起こっているのか、誰かがこのウェブページのすべての検索結果にアクセスできるように助けてくれれば、本当に感謝しています!
ああ...私は 'クラスは= "S-結果項目celwidgetが"' 'クラス_ = 'sのを使用してアクセスすることができることを知りませんでした-result-item''を 'celwidget'なしにします。ご協力いただきありがとうございます! – dmzavelsky