アンカータグには独自のクラスはありません。親div
を発見し、適切なhref
プロパティとテキストでアンカーを見つけることによって、我々は必要な2つの値を抽出することができます。
from bs4 import BeautifulSoup
page = '<div class="prodName"><a href="/product.php?sku=123;name=Horizon Zero Dawn">Horizon Zero Dawn</a></div>'
soup = BeautifulSoup(page)
div = soup.find('div', {'class': 'prodName'})
a = div.find('a', {'href': True}, text='Horizon Zero Dawn')
print a['href']
print a.get_text()
これは、出力します。
/product.php?sku=123;name=Horizon Zero Dawn
Horizon Zero Dawn
EDIT:
をコメント後の更新。あなたがページ内に複数のdiv
の要素を持っている場合は、それらをループする必要があり、それぞれの中に存在するすべてのa
の要素を見つけ、そのよう:V-ZARD @
import requests
from bs4 import BeautifulSoup
url ='https://in.webuy.com/product.php?scid=1'
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text,'html.parser')
for div in soup.findAll('div',{'class':'prodName'}):
a = div.findAll('a')
for link in a:
href = link.get('href')
print(href)
は答えを更新しました – asongtoruin