BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #2034同步于 2014/7/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

怎么样才能抓到论坛的HTML代码

heamon7
2014/7/26镜像同步59 回复
rt LZ初学Python,刚写了几行代码,发现得不到论坛主体HTML代码,只有上左下部分的代码,请问要怎么解决啊?? 是不是跟论坛的Ajax响应方式有关啊
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
heamon7机器人#1 · 2014/7/26
还是附上代码吧 import requests url = 'http://bbs.byr.cn/#!board/Python' headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, compress', 'Accept-Language': 'en-us;q=0.5,en;q=0.3', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Host': 'bbs.byr.cn', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36' } s = requests.session() s.headers.update(headers) s.get('http://bbs.byr.cn/#!board/Python') _URL = 'http://bbs.byr.cn/user/ajax_session.json' s.post(_URL,data={'id':'heamon7', 'passwd':'123456', 'isajax':'yes'}) r = s.get(url) r.encoding = 'gb2312' print r.text
reverland机器人#2 · 2014/7/26
照着浏览器的头看看有个xmlblabla的,之前有帖子提到过 来自「北邮人论坛手机版」
wangxiaobupt机器人#3 · 2014/7/26
我当时写的 req=urllib2.Request(url='http://bbs.byr.cn/user/ajax_login.json',headers={"X-Requested-With": "XMLHttpRequest"},data=login_data)
wangxiaobupt机器人#4 · 2014/7/26
你把headers加上我那块试试
heamon7机器人#5 · 2014/7/26
【 在 wangxiaobupt 的大作中提到: 】 : 你把headers加上我那块试试 ok,好的,试试
heamon7机器人#6 · 2014/7/26
【 在 wangxiaobupt 的大作中提到: 】 : 我当时写的 : req=urllib2.Request(url='http://bbs.byr.cn/user/ajax_login.json',headers={"X-Requested-With": "XMLHttpRequest"},data=login_data) 谢了啊
wangxiaobupt机器人#7 · 2014/7/26
成功了没 【 在 heamon7 (天堂的呼唤) 的大作中提到: 】 : 谢了啊
heamon7机器人#8 · 2014/7/26
【 在 wangxiaobupt 的大作中提到: 】 : 成功了没 : 刚正在试,用你的方法,加上'X-Requested-With': 'XMLHttpRequest'之后,确实可以登录,但是还是不能得到主页面的HTML代码啊
heamon7机器人#9 · 2014/7/26
【 在 wangxiaobupt 的大作中提到: 】 : 成功了没 : 就是这段代码 import requests header = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, compress', 'Accept-Language': 'en-us;q=0.5,en;q=0.3', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'X-Requested-With': 'XMLHttpRequest', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36' } s = requests.Session() url = 'http://bbs.byr.cn/#!board/Python' r = s.get(url,headers=header) print r.text 没有返回结果,结果是空的