ihi*_*wer 0 python http-get http-post web-scraping
我访问了这个网站:http: //www.avcodes.co.uk/airlcodesearch.asp
并且,选择了最后一个选项:
Select a letter for ICAO Codes: and chose "B"
Run Code Online (Sandbox Code Playgroud)
然后点击 Submit.
我使用Firefox中的Tamper Data和Live HTTP Headers监控进度.
并且,一切都很好..并且实现相同效果所需的直接URL是:
http://www.avcodes.co.uk/airllistres.asp?statuslst=Y&iataairllst=&icaoairllst=B&B1=Submit
但是,使用上述URL时,不会返回数据.
我缺少什么,如何找到正确的URL.
这个练习的目的是一旦我知道URL ..我将使用python脚本循环到A到Z并获取所有页面的内容.
请帮忙.
我假设您已获得该网站的许可,可以使用他们的数据库并允许您抓取他们的网站.在任何其他情况下,根据司法管辖区,这样做可能是违法的.
这里的问题是你使用GET来检索内容,但网站期待POST.Get和POST不是等价的,虽然有些程序员认为它们是相同的(例如,在PHP中,你可以使用$_REQUEST而不是$_GET和$_POST).这个网站不像他们,所以你必须发布到这个网站.
在Python中,您可以将数据发布到这样的URL:
import urllib2
u = urllib2.urlopen("http://www.avcodes.co.uk/airllistres.asp", "statuslst=Y&iataairllst=&icaoairllst=B&B1=Submit")
print u.read()
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1490 次  |  
        
|   最近记录:  |