2017-04-25 40 views
0

我想從各種評論網站中提取某些內容(評論信息)。如何從多個網頁提取內容?

開始。我只用一個網頁就開始提取內容。我可以在沒有任何問題的情況下做到。爲了達到同樣的效果,我寫了一個python代碼。然而,我不知道如何使用相同的python模塊從多個網站中提取。

我用下面的代碼提取審查最初的網站:

from webscraping import download, xpath 
D = download.Download() 
# download and cache the Google Code webpage 
html = D.get('http://code.google.com/p/webscraping') 
# use xpath to extract the project title 
project_title = xpath.get(html, '//div[@id="pname"]/a/span') 

這裏的「HTML」是包含網頁的HTML內容的變量。

我想更廣泛地擴展此解決方案,以便我可以從任何網站提取評論。

我該如何做到這一點?

請注意:我不想使用網絡抓取工具。不過,我想用編程方式實現相同的功能。

在此先感謝。

+0

你應該看看[BeautifulSoup(https://www.crummy.com/software/BeautifulSoup/bs4/doc/) –

+0

@AzatIbrakov可能'xpaths'是刮和解析HTML更好 – anekix

+0

我不確定這裏有什麼問題。如果您想從其他網站上獲取數據,則只需要請求另一個網站內容並從中提取數據。單個腳本中可以請求的網站數量沒有限制。如果您想使用一個選擇器從每個可能的網站檢索相關數據,那麼這就是妄想的要求 - 每個網站都會有自己的標記,並且沒有一個通用的解決方案可能適用於所有網站。 –

回答

0

像這樣的東西應該完成工作。

from bs4 import BeautifulSoup 
import urllib.request 

for numb in ('1', '10'): 
    resp = urllib.request.urlopen("https://realfood.tesco.com/search.html?DietaryOption=Vegetarian") 
    soup = BeautifulSoup(resp, from_encoding=resp.info().get_param('charset')) 

    for link in soup.find_all('a', href=True): 
     print(link['href'])