用户工具

站点工具


python-network-application:urllib2-post-ajax

Python模拟Ajax/XMLHttpRequest

Ajax是目前流行的网页加载模式,可以不刷新网页页面实现数据更新。

但是对我们需要抓取网页内容来说,多了一层障碍,不过无敌的Python很容易抓取Ajax内容。

需要注意的是要添加一个Content-Type的Header,给的值是application/json。否则会发生错误!

Python抓取Ajax代码

import urllib
import urllib2
import json
 
if __name__ == "__main__":
      d = '{"pageIndex":0,"pageSize":30,"title":""}'
      request = urllib2.Request(ajax_url, d)
      request.add_header("Content-Type", "application/json; charset=utf-8")
      print request.headers
      f = urllib2.urlopen(request) #'{"pageIndex":0,"pageSize":15,"title":""}'
      content = f.read()
      content = rss_content.decode("gbk")
      content = json.loads(content)
python-network-application/urllib2-post-ajax.txt · 最后更改: 2013/02/21 03:11 (外部编辑)