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

[问题]python模拟登陆北邮人论坛失败

casemonkey
2016/3/26镜像同步7 回复
求助各位大大,python模拟登陆蛋蛋网,知乎等都能成功,到了我有就报url 404了。求解 抓包知登陆时向'http://bbs.byr.cn/user/ajax_login.json' post登录信息 但模拟登陆向以上url post时则报404,求助。。。。 # -*- coding: utf-8 -*- # !/usr/bin/python import urllib2 import urllib import cookielib import re auth_url = 'http://bbs.byr.cn/user/ajax_login.json' home_url = 'http://bbs.byr.cn/' # 登陆用户名和密码 data={ 'id':'*******', 'passwd':'***********' } # urllib进行编码 post_data=urllib.urlencode(data) # 发送头信息 headers ={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0', 'Referer' : 'http://bbs.byr.cn/index', 'Accept':'application/json, text/javascript, */*; q=0.01', 'Host':'bbs.byr.cn' } cookieJar=cookielib.CookieJar() opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) urllib2.install_opener(opener) urllib2.urlopen(home_url) # 获取cookie req=urllib2.Request(auth_url,post_data,headers=headers ) opener.open(req) a = opener.open('http://bbs.byr.cn/#!board/WorkLife') # 显示结果 dd=open('woyou.txt','w+') dd.write(a.read()) dd.close()
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
kuangfengwin机器人#1 · 2016/3/27
好像得加上一个x-request什么的属性
cindyoshinee机器人#2 · 2016/7/1
同求
cindyoshinee机器人#3 · 2016/7/1
好像在headers里除了'user-agent'再加上'Host': 'bbs.byr.cn', 'X-Requested-With': 'XMLHttpRequest', 'Connection': 'keep-alive'就可以了 @bill220 看了这位的代码 帖子在 https://bbs.byr.cn/#!article/Python/14291 纯搬运0.0
bill220机器人#4 · 2016/7/2
【 在 cindyoshinee 的大作中提到: 】 : 好像在headers里除了'user-agent'再加上'Host': 'bbs.byr.cn', 'X-Requested-With': 'XMLHttpRequest', 'Connection': 'keep-alive'就可以了 : @bill220 看了这位的代码 帖子在 https://bbs.byr.cn/#!article/Python/14291 : 纯搬运0.0 如果作为纯客户端的话,keepalive加了其实是增server负担,单台客户端并发不大。但是作为爬虫的话,可以加上,减少请求时间。而且keepalive也需要server开启才行,我觉得论坛不会开启的吧,场景不合适。 文章就是搬运的,哈哈
luuuuuyib机器人#5 · 2016/7/2
3楼正解
Roger机器人#6 · 2016/7/21
【 在 casemonkey 的大作中提到: 】 : 求助各位大大,python模拟登陆蛋蛋网,知乎等都能成功,到了我有就报url 404了。求解 : 抓包知登陆时向'http://bbs.byr.cn/user/ajax_login.json' post登录信息 : 但模拟登陆向以上url post时则报404,求助。。。。 : ................... 楼主成功爬取了吗 我写的跟你类似 模拟登陆应该是成功了 但是再打开论坛其它网页爬取的时候 又显示没登录了 cookie也没问题 求解?
baoziooxx机器人#7 · 2016/8/1
最后问下: opener.open('http://bbs.byr.cn/#!board/WorkLife')这一句: 我把url用urllib.request.Request,包了Header进去,然后再用opener.open()打开包完的Request对象,获取到的就是空…… 是opener.open只能直接打开url嘛?