使用Python中的BeautifulSoup获取具有特定类属性的链接的href文本

时间:2016-02-15 18:30:51

标签: python html python-2.7 web-scraping beautifulsoup

如何从与类匹配的锚标记中的href中获取文本。所以,如果我有

<a href="Link_I_Need.html" class="Unique_Class_Name">link text</a>

如何从仅具有Unique_Class_Name类的锚标记获取字符串Link_I_Need.html?

2 个答案:

答案 0 :(得分:4)

使用.find().find_all()方法选择具有href属性且类属性为Unique_Class_Name的元素。然后迭代元素并访问href属性值:

soup = BeautifulSoup(html)
anchors = soup.find_all('a', {'class': 'Unique_Class_Name', 'href': True})

for anchor in anchors:
    print (anchor['href'])

您也可以使用.select() method的基本CSS选择器:

soup = BeautifulSoup(html)

for anchor in soup.select('a.Unique_Class_Name'):
    if anchor.has_attr('href'):
        print (anchor['href'])

答案 1 :(得分:0)

<a class="blueText" href="/info/046386294000000899/?s_bid=046386294000000899&amp;s_sid=FSP-LSR-002&amp;s_fr=V01&amp;s_ck=C01" target="_blank">川村商店</a>

您只能获得这样的文本

for url in url_list:
    res = requests.get('%s' % url)
    soup = bs4.BeautifulSoup(res.text, "html.parser")
    for p in soup.find_all('a', class_='blueText'):
        print(p.text)