我有一個Python中的中間知識。如果我必須在Python中編寫web爬蟲,我應該遵循什麼東西,我應該從哪裏開始。有什麼特別的嘖嘖?任何意見會有很大的幫助..謝謝Python中的網絡爬蟲。我應該從哪裏開始,我應該遵循什麼? - 需要幫助
回答
爲什麼不尋找existing code已經做到了你所需要的?如果您需要自己構建一個,那麼仍然值得查看現有代碼並將其解構以找出它的工作原理。
你肯定需要一個html解析庫。爲此,您可以使用BeautifulSoup。你可以找到大量的樣本和教程獲取URL和處理返回的HTML在官方頁面:http://www.crummy.com/software/BeautifulSoup/
謝謝..:) 開始,即時興趣知道什麼庫/模塊應導入?與這一個?我的目標是編寫一個簡單的爬蟲程序(無需多線程,如果重要) – 2010-07-29 06:09:18
BeautifulSoup非常容易使用。 「從BeautifulSoup導入BeautifulSoup;湯= BeautifulSoup(」「」 ...「」「)。 – 2010-07-29 21:53:13
另一個很好的庫可能需要用於解析提要。現在您的Url可以使用BeautifulSoup,您可以使用Feedparser作爲Feed。 http://www.feedparser.org/
歡迎到Stackoverflow(SO)。下一次,只需編輯您的現有答案與新信息:) – 2010-07-29 07:04:22
我強烈建議看看Scrapy。該庫可以與BeautifulSoup或任何您首選的HTML解析器一起使用。我個人使用它與lxml.html。
開箱即用,您會收到幾件事情免費:
- 的併發請求,感謝扭曲
CrawlSpider
對象遞歸地尋找在整個網站鏈接- 數據提取&的大分離處理,這使得最大的並行處理能力
+1推薦scrapy – 2010-07-29 10:18:31
如果你還想寫從頭開始,你會想要使用mechanize模塊。它包括模擬瀏覽器所需的一切,並自動獲取URL。我會是多餘的,也可以說BeautifulSoup解析任何你獲取的html。否則,我會去與Scrapy ...
這取決於您的需求。如果你需要基本的網頁瀏覽,那麼+機械化+ BeautifulSoup就可以做到。
如果您需要JavaScript才能呈現,那麼我會選擇Selenium或spynner。兩者都很棒。
IBM Developer Works在這個https://www.ibm.com/developerworks/linux/library/l-spider/#N101C6上有一篇文章。你可能會想使用其他人建議的庫,但這會給你一個流程的總體思路。
import re, urllib
textfile = file('depth_1.txt','wt')
print "Enter the URL you wish to crawl.."
print 'Usage - "http://dynamichackerboys.blogspot.in" <-- With the double quotes'
myurl = input("@> ")
for i in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(myurl).read(), re.I):
print i
for ee in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(i).read(), re.I):
print ee
textfile.write(ee+'\n')
textfile.close()
打印 '用法 - 「http://dynamichackerboys.blogspot.in」 < - 以雙引號' myurl =輸入(「@> 」) 對於i在re.findall( '''HREF =「 '[」' ]''',urllib.urlopen(myurl).read(),re.I): print i for ee in re.findall('''href =''['''''',urllib.urlopen (ⅰ).read(),如re.I): 打印EE textfile.write(EE + '\ n') textfile.close()
對於在網站上檢索
- 1. 我應該從哪裏開始ORACLE
- 2. 我應該從哪裏開始和結束while循環這裏
- 3. 需要網絡爬蟲
- 4. 我應該從哪裏開始創建我自己的Swift庫?
- 5. 我應該從哪個社交網絡項目開始?
- 6. 使我的TCP服務器面向互聯網 - 我應該從哪裏開始?
- 7. 新的mac開發 - 我應該從哪裏開始?
- 8. RegEx之後拆分PDF:我應該從哪裏開始?
- 9. 我應該從哪裏開始使用Facebook應用程序?
- 10. 我應該從哪一卷TAOCP開始?
- 11. 我應該從哪裏開始爲Mac開發?
- 12. 需要網絡爬行幫助
- 13. Python網絡爬蟲
- 14. 我應該從哪裏開始進行Android音頻編程?
- 15. 網絡爬蟲應用
- 16. 我需要使用.net mvc2字符串模板的幫助,我該從哪裏開始?
- 17. java:我的編碼應該遵循什麼設計結構
- 18. 新來的Umbraco,我應該從哪裏開始?
- 19. 我應該在哪裏應該聲明HTML幫助器在ASP.NET MVC 3
- 20. 我應該在React中遵循什麼設計模式?
- 21. 數據庫 - 我應該從哪裏開始?
- 22. 我應該從哪裏開始繪畫? (Java,GUI)
- 23. 我應該從哪裏開始學習Prolog?
- 24. 網絡爬蟲
- 25. 我應該從哪裏開始使用python製作刮板或bot?
- 26. 我應該在Hapijs中遵循什麼文件夾結構?
- 27. 絕對的開始程序員應該從哪裏開始?
- 28. 我應該去哪裏?
- 29. 我應該遵循哪個應用程序體系結構?
- 30. 創建網絡爬蟲程序時需要考慮什麼?
它只是即時通訊仍然是一個學習者,只有當我瞭解基礎知識,正確的方法時,我纔會理解某些事情。感謝您的幫助,雖然,我現在看代碼:) – 2010-07-29 06:08:39