2013-08-22 95 views
0

我正在嘗試爲學生研究創建一個網絡抓取工具。我已經完成了它,但我想告訴我,如果我使用的方式是最好的。 (可能它不是:p)BeautifulSoup抓取工具

該爬蟲是爲cnn網站,我唯一想獲得的是新聞文本。

下面是一個例子鏈接:link

這裏是我的代碼:

def cnn_crawler(link): 
    req = urllib2.Request(link, headers={'User-Agent' : "Magic Browser"}) 
    usock = urllib2.urlopen(req) 
    encoding = usock.headers.getparam('charset') 
    page = usock.read().decode(encoding) 
    usock.close() 

    soup = BeautifulSoup(page) 
    div = soup.find('div', attrs={'class': 'cnn_strycntntlft'}) 
    text = div.find_all('p') 
    text.remove(soup.find('p', attrs={'class': 'cnn_strycbftrtxt'})) 
    final = "" 
    for entry in text: 
      final = final + entry.get_text() + " " 
    return final 
+0

也許一個問題[代碼審查](http://codereview.stackexchange.com/)? – rlms

+0

我不知道這個堆棧交換。我會在那裏發佈我的問題。謝謝:) – Tasos

+2

這個問題似乎是脫離主題,因爲它是關於代碼審查。 –

回答

1

您可以嘗試使用鵝packege如果只是文本提取

https://github.com/grangier/python-goose

這裏鏈接。它工作完美,如果你只是需要文字

+0

你知道我是否可以從easy_install安裝嗎?我與Windows和我無法用戶PIP。 – Tasos

+0

進入目錄並嘗試命令提示符 「python setup.py install」 – Gunjan