我有一個像www.harvard.edu, www.berkeley.edu
等大學網址列表 我需要在各自的網站中找到cse部門網址我最初設置要做的是爬行通過URL給定的鏈接,並指定深度,說3它會按照鏈接,並嘗試找到cse或計算機或在該頁面上鍊接的鏈接的單詞列表匹配鏈接及其錨文本作爲結果返回到csv文件。 如果沒有鏈接包含cse或這樣的話,它應該返回未找到或類似的東西 想法是將csv文件稍後推送到數據庫。我怎樣才能做到這一點?如何抓取各種網站以使用Python查找特定部門?
-1
A
回答
0
這是非常複雜的任務,我建議使用結構像這樣使用數據庫:
TABLE pages (
`absolute_url` VARCHAR(255) NOT NULL,
`visited` TINYINT(1) DEFAULT 0,
-- Additional fields
UNIQUE KEY (`absolute_url`)
)
一點解釋:
absolute_url
包含完整的URL頁面(與http[s]://
開始),並具有獨特的索引放在它上面。通過這種方式,您可以確保最終不會發生遞歸或處理多個鏈接兩次visited
通知您網站是否已訪問(和處理)。此字段再次避免雙重探視重要的,讓你優雅地恢復,如果你的程序崩潰(即網絡停機時間)
您可以實現通過CSV對自己的那些事,或關聯數組,但數據庫是最我熟悉的解決方案。
和算法將作爲去:
database.insert('http://www.harvard.edu')
database.insert('http://www.berkeley.edu')
# In case of failure you'll start at this point:
while database.get_count(WHERE visited = 0) < 0:
for url in database.get_records(WHERE visited = 0):
content = http_client.load(url)
time.sleep(5) # You don't want to flood server
# Problematic URLs will be parsed later
if (not content) or (http_client.is_error):
continue;
for i in content.get_all_urls():
i = make_absolute(i, url)
# Also don't crawl remote sites, images, ...
if not is_valid_url(i):
continue
database.insert(i)
這是僞代碼,我不會實現它都爲你。
0
爲了解決您的問題,您可以使用scrapy框架。
從scrapy網頁提取:
Scrapy是一個快速的高層次的屏幕抓取和Web爬行框架,用來抓取網站,並從自己的網頁中提取結構化數據。它可用於廣泛的用途,從數據挖掘到監視和自動化測試。
相關問題
- 1. 使用Python抓取網站後獲取特定數據
- 2. 如何解析/抓取/抓取特定信息的網站?
- 3. 如何使用Python抓取特定域?
- 4. 爬網使用scrapy的各種網站,並找到特定的詞
- 5. 如何通過python和beautifulsoup找到各種網站標籤?
- 6. 使用python來抓取一個網站
- 7. Nutch未能抓取特定網站
- 8. 如何使用scrapy抓取網站?
- 9. 抓取整個網站python
- 10. 抓取網站使用PHP
- 11. 如何抓取網站?
- 12. 如何抓取每個部門的2種產品?
- 13. 如何使用screamingfrog抓取內部網?
- 14. 我如何從Python網站抓取網站上的pdf鏈接
- 15. 如何使用Python 2從網站上抓取數據?
- 16. Python網站用BeautifulSoup抓取文本
- 17. 找出網站中使用的各種佈局
- 18. 如何使用LDAP在特定部門中查找用戶列表
- 19. 如何在網站上使用各種字體
- 20. 如何識別使用BeautifulSoup的各種網站中的菜單?
- 21. 使用python從網站抓取多個網頁
- 22. 如何使用Python抓取特定的ASP.NET頁面?
- 23. 如何查找網站使用哪種數據庫技術。
- 24. Python網頁抓取:503與特定網站的響應(怎麼回事?)
- 25. 網頁抓取 - 如何獲取一個網絡鏈接的特定部分
- 26. 從特定網站查找AdWords廣告?
- 27. scrapy抓取網站
- 28. 爲什麼Nutch(v2.3)只抓取種子網址,而不抓取整個網站?
- 29. 如何用C#登錄此網站以屏幕抓取它?
- 30. 使用Scrapy遞增抓取網站
你到目前爲止有什麼呢?任何代碼? –