我正在使用Python
并使用BeutifulSoup
库
我有HTML
这样的标记:
<tr class="deals" data-url="www.example2.com">
<span class="hotel-name">
<a href="www.example2.com"></a>
</span>
</tr>
<tr class="deals" data-url="www.example3.com">
<span class="hotel-name">
<a href="www.example3.com"></a>
</span>
</tr>
我想在所有data-url
中获得href
或<tr>
值。更好如果我可以获得href
值
以下是我的相关代码的一小部分:
main_url = "http://localhost/test.htm"
page = requests.get(main_url).text
soup_expatistan = BeautifulSoup(page)
print (soup_expatistan.select("tr.deals").data-url)
# or print (soup_expatistan.select("tr.deals").["data-url"])
答案 0 :(得分:2)
您可以使用tr.deals span.hotel-name a
CSS Selector访问链接:
from bs4 import BeautifulSoup
data = """
<tr class="deals" data-url="www.example.com">
<span class="hotel-name">
<a href="wwwexample2.com"></a>
</span>
</tr>
"""
soup = BeautifulSoup(data)
print(soup.select('tr.deals span.hotel-name a')[0]['href'])
打印:
wwwexample2.com
如果您有多个链接,请对它们进行迭代:
for link in soup.select('tr.deals span.hotel-name a'):
print(link['href'])