我必须像这样从不同的网络数据表中提取带有网站网址的部分。
问题是类"vermell_nobullet"比有href比我需要它重复至少两次。
如何使用网站的href提取特定的类"vermell_nobullet"。
我的代码
from bs4 import BeautifulSoup
import lxml
import requests
def parse_url(url):
response = requests.get(url)
content = response.content
parsed_response = BeautifulSoup(content, "lxml") # Variable que filtre pel contigut lxml
return parsed_response
depPres = "http://sac.gencat.cat/sacgencat/AppJava/organisme_fitxa.jsp?codi=6"
print(depPres)
soup = parse_url(depPres)
referClass = soup.find_all("a", {"class":"vermell_nobullet"})
referClass
我拥有的输出:
[<a class="vermell_nobullet" href="https://ovt.gencat.cat/gsitfc/AppJava/generic/conqxsGeneric.do?webFormId=691">
Bústia electrònica
</a>,
<a class="vermell_nobullet" href="http://presidencia.gencat.cat">http://presidencia.gencat.cat</a>]
我想要的输出:
http://presidencia.gencat.cat
你可以从你可以采取的标签中放置条件,比如text
和href
是否相同a
特定标签
referClass = soup.find_all("a", {"class":"vermell_nobullet"})
for refer in referClass:
if refer.text==refer['href']:
print(refer['href'])
另一种方法查找最后一个div
元素,并使用find_all
方法查找最后一个href
soup.find_all("div",class_="blockAdresa")[-1].find_all("a")[-1]['href']
输出:
'http://presidencia.gencat.cat'