我知道它的基本问题,但我是python的新手,所以我无法弄清楚如何使用python获取第一个元素值
这里是Html代码,我只想抓住第一个div中网站的第一个跨度的值:
<div class= "main-div">
<span><a class= "web-link" href="https://www.website.com"><span>website</a></span>
<span><a class= "web-link" href="https://www.facebook.com">facebook</a></span>
<span><a class= "web-link" href="https://www.twitter.com">Twitter</a></span>
</div>
&#13;
我正在使用这个python脚本,但它从main-div
打印所有三个跨度
website = jsoup.find_all("div", {"class": "main-div"})
for element in website:
link = jsoup.find_all("a", {"class": "web-link"})
for tag in link:
websitelink = tag.get("href")
print(websitelink)
&#13;
请帮助我获得我的渴望结果。我想打印网站并跳过休息。怎么可能
答案 0 :(得分:0)
你已经写了额外的<span>
更正后的代码:
<div class= "main-div">
<span><a class= "web-link" href="https://www.website.com">website</a></span>
<span><a class= "web-link" href="https://www.facebook.com">facebook</a></span>
<span><a class= "web-link" href="https://www.twitter.com">Twitter</a></span>
</div>
此处tag.get("href")
返回一个列表,并存储在websitelink
中。
你只需要写websitelink[0]
来获取列表中的第一个元素
website = jsoup.find_all("div", {"class": "main-div"})
for element in website:
link = jsoup.find_all("a", {"class": "web-link"})
for tag in link:
websitelink = tag.get("href")
print(websitelink[0])
答案 1 :(得分:0)
website = jsoup.find("div", {"class": "main-div"}) #find div
if website:
link = website.find("a", href=True) #find first link with href
if link:
print(link['href'])