无法使用 BeautifulSoup 检索 href

乔韦

我正在尝试使用 BeautifulSoup 在 for 循环中检索 href。我已经用一些 .html 文件整理了 HTML 的不相关部分find_all我最近做的是:

events = soup.find_all("a", attrs={"class": "event-link-wrap"})

然后我像这样运行一个 for 循环:

for event in events:
    href = event.find("href")
    category = event.find("p",{"class": "category"})
    title = event.find("h3")
    arena = event.find("span", {"class": "venue"})

当我打印 href 时,我得到None. 可能是href在我使用的类中find_all吗?如果我打印event我得到:

<a class="event-link-wrap" href="https://www.WHATIWANT.COM/HERE title="More Info">
<div class="thumb">
<img alt="pic_125x125.jpg" src="https://www.test.com/pic.jpg"/> </div>
<div class="info clearfix">
<p class="category">CATEGORY HERE</p>
<h3>EVENT TITLE HERE</h3>
<p class="date"><span class="m-date__rangeFirst"><span class="m-date__day"> 6 </span></span><span class="m-date__separator"> - </span><span class="m-date__rangeLast"><span class="m-date__day"> 7 </span><span class="m-date__month">april</span></span> <span class="venue"> ARENA HERE</span> </p>
</div>
<div class="buttons">
<span class="icon"></span>
<span class="icon-hover"></span>
</div>
</a>

我想要的 href 在第一个标签中。除了href,我可以检索我想要的所有内容。我如何获得href?就像我提到的,现在它返回的只是None.

凯尔·波特达

由于您正在遍历<a>本身包含href您所追求标签,因此您可以直接获取hrefusing href = event['href']

find()方法需要一个标签作为它的第一个参数而不是一个属性。因此,find('href')在代码中的任何地方使用总是会返回None.

只需使用这个:

for event in events:
    href = event["href"]
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章