BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / search-engine / #11814同步于 2016/11/27
SearchEngine机器人发帖

【请教】这个ajax的网站用python好爬吗

huazaizhang
2016/11/27镜像同步0 回复
帮朋友爬一个网站的数据,打算遍历每个层级的菜单,枚举所有情况把数据统计出来。在网上查了爬ajax的方法,构造了一下post请求,不过每次请求都是只返回了最初的html页面(chrome里看时返回了json),求高人指导! 网页:http://agcensus.dacnet.nic.in/tehsilsummarytype.aspx 目前结论: 1. 该页面分多级下拉框,每变更一次下拉框,都会自动向后台发送一个ajax请求,更新下一级下拉框的内容。(如变更了state, 就会自动获取district) 返回数据格式是json [upload=3][/upload] 2. 最终提交submit后,页面切换,出现数据,数据在html中。 尝试方案: 1. 先解析下拉框的json数据 2. 再获取提交后的表格数据 问题: 然而在获取下拉框数据的时候就出问题了。。。 尝试了网上请求ajax的方法,在其他网站上没有问题,但是这个网站,结果是直接返回了原始的html内容 不知道这个网站还有没有办法爬,求高手解答[ema1] python代码: 只是爬更新下拉框json的 尝试过添加这个header,但会报: 500 server internal error req.add_header("Content-Type","application/json;charset=utf-8") ```python import urllib2 import urllib import json from urllib2 import HTTPError url = 'http://agcensus.dacnet.nic.in/tehsilsummarytype.aspx/Get_ddlData' data = {"value":"2005","Text":"2005-06","CallFor":"year"} data = urllib.urlencode(data) try: req = urllib2.Request(url=url,data=data) req.add_header("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:49.0)") req.add_header("X-Requested-With","XMLHttpRequest") req.add_header("Referer","http://agcensus.dacnet.nic.in/tehsilsummarytype.aspx") req.add_header('Accept', 'application/json') ''' req.add_header("Content-Type","application/json;charset=utf-8") ''' response = urllib2.urlopen(req) print response.read() except HTTPError as e: print e.read() ```
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。