gpt4 book ai didi

python - BeautifulSoup:在 html 中查找特定 URL 并打印

转载 作者:行者123 更新时间:2023-12-04 16:20:51 25 4
gpt4 key购买 nike

好的,所以我有这个 html 页面(充满不同的 url),我想在其中获取一个 url 并打印它。

网页为:https://bdkv2.borger.dk/foa/Sider/default.aspx?fk=22&foaid=11523251

我想打印网址 www.albertslund.dk

在源代码中看起来是这样的:

<a href="http://www.albertslund.dk" id="_uscAncHomesite" target="_blank"><strong><span id="ctl00_PlaceHolderMain_FormControlHandler1__uscShowDataAuthorityDetails__uscLblHomesite">http://www.albertslund.dk</span></strong></a>

当我尝试抓取它并使用它的 ID(使用 BeautifulSoup 和 Mechanize)打印它时,它只返回一个空列表。我想使用 ID 获取 URL,因为我正在抓取一堆类似的网站,其中我想要的东西具有相同的 ID。
kommuneside = br.open(https://bdkv2.borger.dk/foa/Sider/default.aspx?fk=22&foaid=11523251)
html2 = kommuneside.read()
soup2 = BeautifulSoup(html2)
hjemmesidelink = soup2.findAll('a', attras={'ID':'_uscAncHomesite'})
print hjemmesidelink

这仅返回一个空列表:
[]

如果我这样尝试:
print hjemmesidelink['href']

我得到:类型错误:列表索引必须是整数,而不是 str

我原以为这很简单,但我是个菜鸟,这已经困扰了我好几天了。

最佳答案

您的代码中有许多拼写错误,因此我无法确定为什么您的搜索与任何内容都不匹配,但最可能的问题是您正在搜索属性“ID”(大写),但是标记中的属性是“id”(小写)。

由于您只想找到一个标签,我建议您使用 find() ,它将自行返回标签,而不是包含标签的列表。这就是我编写代码的方式:

print soup.find('a', id='_uscAncHomesite')                                      
# <a href="0" id="_uscAncHomesite" target="_blank">...</a>

顺便说一句,你对 findAll 的使用让我觉得你在使用 Beautiful Soup 3。我推荐 Beautiful Soup 4对于所有新项目。

关于python - BeautifulSoup:在 html 中查找特定 URL 并打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11758546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com