2016-08-23 153 views
1

我是網頁抓取機票網站。我的問題是:我正在使用Chrome開發人員來識別我想要廢棄的HTML對象的類。但是,我的代碼沒有找到它。看起來我沒有下載我在Chrome Developer Extension中看到的HTML代碼。 (檢查項目...)Python網頁抓拍

import requests 
from BeautifulSoup import BeautifulSoup 

url = 'http://www.momondo.de/flightsearch/?Search=true&TripType=2&SegNo=2&SO0=BOS&SD0=LON&SDP0=07-09-2016&SO1=LON&SD1=BOS&SDP1=12-09-2016&AD=1&TK=ECO&DO=false&NA=false' 
req = requests.get(url) 
soup = BeautifulSoup(req.content) 
x = soup.findAll("span" ,{"class":"value"}) 
+1

如果我發現有人在刮我的網站,爲自己的利潤,我會阻止用戶訪問的儘快。請記住,網站有時會提供您可以使用的API。另外,當他們改變他們的網站佈局/結構時會發生什麼? –

回答

1

請嘗試以下方法:

from bs4 import BeautifulSoup 
import urllib.request 

source = urllib.request.urlopen('http://www.momon...e&NA=false').read() 
soup = BeautifulSoup(source,'html5lib') 
for item in soup.find_all("span", class_="value"): 
    print(item.text) 

有了這個,你可以刮與類「價值」的網頁中所有的跨度。如果您想要查看整個html元素及其屬性,而不是僅查看內容,請從print(item.text)中刪除.text

您可能需要使用pip安裝html5lib,如果遇到問題,請嘗試以管理員身份運行CMD(假設您使用的是Windows)。

0

你也可以試試這個:

for values_in_x in x: 

    print(values_in_x.text)