2010-07-29 40 views

回答

3

爲什麼不尋找existing code已經做到了你所需要的?如果您需要自己構建一個,那麼仍然值得查看現有代碼並將其解構以找出它的工作原理。

+0

它只是即時通訊仍然是一個學習者,只有當我瞭解基礎知識,正確的方法時,我纔會理解某些事情。感謝您的幫助,雖然,我現在看代碼:) – 2010-07-29 06:08:39

5

你肯定需要一個html解析庫。爲此,您可以使用BeautifulSoup。你可以找到大量的樣本和教程獲取URL和處理返回的HTML在官方頁面:http://www.crummy.com/software/BeautifulSoup/

+0

謝謝..:) 開始,即時興趣知道什麼庫/模塊應導入?與這一個?我的目標是編寫一個簡單的爬蟲程序(無需多線程,如果重要) – 2010-07-29 06:09:18

+0

BeautifulSoup非常容易使用。 「從BeautifulSoup導入BeautifulSoup;湯= BeautifulSoup(」「」 ...「」「)。 – 2010-07-29 21:53:13

1

另一個很好的庫可能需要用於解析提要。現在您的Url可以使用BeautifulSoup,您可以使用Feedparser作爲Feed。 http://www.feedparser.org/

+0

歡迎到Stackoverflow(SO)。下一次,只需編輯您的現有答案與新信息:) – 2010-07-29 07:04:22

7

我強烈建議看看Scrapy。該庫可以與BeautifulSoup或任何您首選的HTML解析器一起使用。我個人使用它與lxml.html。

開箱即用,您會收到幾件事情免費:

  • 的併發請求,感謝扭曲
  • CrawlSpider對象遞歸地尋找在整個網站鏈接
  • 數據提取&的大分離處理,這使得最大的並行處理能力
+1

+1推薦scrapy – 2010-07-29 10:18:31

5

如果你還想寫從頭開始,你會想要使用mechanize模塊。它包括模擬瀏覽器所需的一切,並自動獲取URL。我會是多餘的,也可以說BeautifulSoup解析任何你獲取的html。否則,我會去與Scrapy ...

2

這取決於您的需求。如果你需要基本的網頁瀏覽,那麼+機械化+ BeautifulSoup就可以做到。

如果您需要JavaScript才能呈現,那麼我會選擇Selenium或spynner。兩者都很棒。

-1
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()

對於在網站上檢索