2015-06-21 130 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