2015-06-21 132 views
-1

我想抓取土耳其超級聯賽中的所有比賽細節。 數據在這裏:http://www.mackolik.com/Standings/Default.aspx?sId=3170刮動態網頁(ASPX)

點擊「Fikstür」,然後選擇「Hafta」。 Fikstür意思是Fixture和Hafta是指土耳其語的一週。

在這個頁面,每個星期有matchIDs當你將鼠標懸停在score.Ie,當你選擇Hafta = 1和「Genclerbirliği-Adaletspor」的匹配ID爲342212.

所以,第一份工作是收集全部匹配ID。 當我想完全獲得這些ID時,我檢查了所有元素。一個月前,我可以通過www.mackolik.com/AjaxHandlers/FixtureHandler.aspx?command=getMatches & id = 3170 & week = 11得到匹配ID。

但是當我進入那裏時,我收到一條消息「403 Forbidden error」。但所有的ID都在這裏。我怎樣才能得到這些匹配ID或處理這個問題?

我正在使用Python。

+0

@alecxe我試過4次。我改變了我的ip幾次,但我仍然得到這個錯誤。必須有一個防止我到達ID的代碼。 –

+0

最有可能的只是您需要提供User-Agent標頭。但是,請確保您不違反使用條款並保持合法。 – alecxe

+0

那麼,無頭瀏覽器? –

回答

1

,我發現我的解決方案:

import mechanize 
from lxml import html as lh 
import requests 

br = mechanize.Browser() 
page=br.open("http://www.mackolik.com/Standings/Default.aspx?sId=3170") 
head=page.info().headers 
response = requests.get('http://www.mackolik.com/AjaxHandlers/FixtureHandler.aspx?command=getMatches&id=3170&week=1', headers=head) 
response.text