amazonページで著者の名前を抽出しようとしています。問題は、同じクラスのタグが非常に多く、正確な要素を特定するための他の属性がないことです。今私は著者名を抽出したいと思います。これは2番目のspanタグにあります。find_all()を使用して必要な要素を抽出する方法
<div class="a-row a-spacing-none">
<span class="a-size-small a-color-secondary">by </span>
<span class="a-size-small a-color-secondary"><a class="a-link-normal a-text-normal" href="/Arthur-Conan-Doyle/e/B000AQ43GQ/ref=sr_ntt_srch_lnk_2?qid=1510823399&sr=8-2">Arthur Conan Doyle</a></span></div>
私たちができるように、両方のspanタグで同じクラスがあります。 2番目のスパンタグが必要です。さらに、すべてのブロックにタグが存在しません。だから私は著者名を抽出するスパンタグだけを使用する必要があります。どのように私は著者名を得ることができますか?私はBeautifulSoupとselenium.Myコードを使用しています
は次のとおりです。
soup=BeautifulSoup(self.driver.page_source,"html.parser")
titles=soup.find_all("h2",{"class":"a-size-medium s-inline s-access-title a-text-normal"})
authors=soup.find_all("span",{"class":"a-size-small a-color-secondary"})
for value in range(len(titles)):
d={}
d["Title"]=titles[value].text
d["Author"]=authors[value+2].text
title.append(d)