我正在用Python编写一个程序来提取给定网站的所有网址。来自网站的所有网址都不是来自网页。 我想我不是第一个想要这样做的人,我想知道是否有现成的解决方案,或者我是否必须自己编写代码。
答案 0 :(得分:0)
这并不容易,但一个不错的出发点是调查这两个库:
答案 1 :(得分:0)
我没有看到任何现成的脚本在快速谷歌搜索中执行此操作。
使用scrapy
框架使这几乎变得微不足道。
耗时的部分是学习如何使用scrapy。这些教程虽然很棒,但也不会那么长。
http://doc.scrapy.org/en/latest/intro/tutorial.html
创建其他人可以使用的解决方案是成为编程社区一员的乐趣之一。如果没有刮刀,您可以创建一个每个人都可以用来从网站获取所有链接的刮刀!
答案 2 :(得分:0)
给出的答案是我建议的(+1)。
但如果您真的想快速而简单地做一些事情,并且您正在使用* NIX平台,那么试试这个:
lynx -dump YOUR_URL | grep http
YOUR_URL是您要检查的网址。 应该为您提供所需的所有链接(未完全写入的链接除外)
答案 3 :(得分:0)
首先,您必须使用urlib或requests等软件包下载网页的HTML内容。
之后,您可以使用Beautiful Soup来提取网址。实际上,their tutorial显示了如何提取<a>
元素中包含的所有链接作为具体示例:
for link in soup.find_all('a'):
print(link.get('href'))
# http://example.com/elsie
# http://example.com/lacie
# http://example.com/tillie
如果您还想找到未包含在<a>
元素中的链接,您可能需要自己编写更复杂的内容。
编辑:我还遇到了两个专门为此任务创建的Scrapy链接提取器类: