【发布时间】:2019-09-06 18:23:00
【问题描述】:
我用beautifullSoup 在一个网站上找到了一些链接,需要将它们以列表(或txt 文件)的形式返回以供以后使用。
这是从他们指向的网站上的链接中获取一些文本。我试图创建一个def 来返回链接,但我不够聪明,无法让 def 正常工作。
for link in soup.find_all('a', href=True):
print(link["href"])
我从上面的代码中获得了一个链接列表,并且可以将其写入文本文件(由我自己)并制作一个新的 python 脚本,但我宁愿“返回”它以继续脚本,顺便说一句学习一些东西。 我想出了这个但不起作用:
def linkgetter(soup):
for link in soup.find('a', href=True):
return soup
它会打印出整个网站的 html 代码并且不过滤链接。
【问题讨论】:
-
一般来说,您希望返回由
for循环提取的链接列表,而不是代表您从中提取链接的整个页面对象的soup。这就是a list comprehension 所做的。
标签: python web-scraping beautifulsoup