簡體   English   中英

如何從網站中提取所有網址?

[英]How to extract all the url's from a website?

我正在用Python編寫程序,以從給定的網站提取所有網址。 來自網站而不是頁面的所有URL。 我想我不是第一個想要這樣做的人,我想知道是否有現成的解決方案,還是我必須自己編寫代碼。

首先,您必須使用urlibrequest之類的包下載頁面的HTML內容。

之后,您可以使用Beautiful Soup提取URL。 實際上, 他們的教程顯示了如何提取<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鏈接提取器類:

http://doc.scrapy.org/en/latest/topics/link-extractors.html

這不是一件容易的事,但是一個不錯的出發點是研究以下兩個庫:

urllib
美麗湯

我沒有看到任何現成的腳本可以在快速的Google搜索中做到這一點。

使用scrapy框架使此操作變得微不足道。

耗時的部分將是學習如何使用scrapy。 這些教程雖然很棒,但不會花那么長時間。

http://doc.scrapy.org/en/latest/intro/tutorial.html

創建其他人可以使用的解決方案是成為編程社區成員的樂趣之一。 如果刮板不存在,則可以創建一個刮板,每個人都可以使用刮板來獲取網站的所有鏈接!

給出的答案是我建議的(+1)。

但是,如果您真的想快速簡單地執行某項操作,並且您正在使用* NIX平台,請嘗試以下操作:

lynx -dump YOUR_URL | grep http

其中YOUR_URL是您要檢查的URL。 應該會為您提供所有想要的鏈接(未完全編寫的鏈接除外)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM