我正在创建一个网络抓取工具,可以将文章下载到 txt 文件中。我已经用 bs4 创建了 soup,并提取了包含我要下载的文章所需 url 的特定 html 片段:
>>>prevLink = soup2.select('.previous_post')
>>>prevLink
[<span class="previous_post">Previous Post: <a href="http://www.mrmoneymustache.com/2018/11/08/honey-badger-entrepreneur/" rel="prev">An Interview With The Man Who Never Needed a Real Job</a></span>]
到目前为止一切都很好(我认为)。然后我尝试使用 .get('href') 拉出链接,但它返回“none”。
>>>print(prevLink[0].get('href'))
None
但是,当我使用 .get('class') 来选择类时,它似乎有效。
>>> print(prevLink[0].get('class'))
['previous_post']
我不明白为什么 .get('class') 的行为与 .get('href') 不同。 感谢您的关注。
最佳答案
prevLink
实际上并不是引用链接,而是引用 span
元素。
只需使用选择器深入了解 a
元素即可:
prevLink = soup2.select_one('.previous_post > a')
print(prevLink.get('href'))
关于python - BeautifulSoup .get 未返回 'href',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53843949/