关于python3实现cookie登录问题
来源:互联网 发布:遗传算法神经网络 pid 编辑:程序博客网 时间:2024/06/13 01:49
尝试写了个小爬虫,抓点虎扑上面的发帖信息,但发现查看到一定页数后以及一些用户资料信息时,需要进行用户登录。
于是在网上找了些资料,发现总是失败,而且虎扑的登录有15分钟重复登录则要输入验证码的限制。后来几经周转和向他人请教,方才实现。
现将思路整理下来:
第一步,确定post数据的页面(post给网站你的用户名、密码等信息)
我之前一直是用http://passport.hupu.com/login,在用浏览器抓取post信息的时候,也没有仔细观察,
其实对于虎扑而言,需要post数据的页面是:http://passport.hupu.com/pc/login/member.action
第二步:封装cookie信息
cookie = http.cookiejar.CookieJar()cookieProc = urllib.request.HTTPCookieProcessor(cookie)opener = urllib.request.build_opener(cookieProc)urllib.request.install_opener(opener)
写header和postdata数据:
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1',
'Referer' : 'https://passport.hupu.com/pc/login?project=my&from=pc'}
postData = {
'username' : 'xxx',
'password' : 'xxx'
}
第三步:
写个函数,进行页面上的请求:
def GetUrlRequest(iUrl,iStrPostData,header): postdata=urllib.parse.urlencode(iStrPostData) postdata=postdata.encode(encoding='UTF8') req= urllib.request.Request( url = iUrl, data = postdata, headers = header) result=urllib.request.urlopen(req).read().decode("UTF8") return result
执行了上面的函数后,爬虫程序便已经具有cookie信息,以后在访问其他页面的时候,直接传入header和url即可,不要重复传入postdata,
同样,也不要再次执行上面的函数操作。
req=urllib.request.Request(url=url,headers=headers) result=urllib.request.urlopen(req).read().decode("gbk") print(result)
url可以是你要访问的其他页面了。
- 关于python3实现cookie登录问题
- python3 模拟实现登录HDU并获取Cookie
- python3爬虫 - cookie登录实战
- python3爬虫 - 利用浏览器cookie登录
- 实现自动登录Cookie
- 实现自动登录Cookie
- cookie登录功能实现
- cookie实现自动登录
- cookie实现单点登录
- cookie实现用户登录
- java操作cookie 实现两周内自动登录 加密安全性问题
- Python3 Post登录并且保存cookie登录其他页面
- python3实现带cookie的上传文件
- 手动实现cookie 的python3代码
- 单点登录技术Cookie问题
- c#模拟登录,cookie问题
- cookie跨域,实现单点登录
- 通过COOKIE实现自动登录
- android studio 的使用心得 之导入.jar
- wiki百科翻译之Lean software development之Contents
- [转]Java 远程通讯技术及原理分析
- View的事件分发机制简述
- Ad_Hoc方式打包iOS应用程序
- 关于python3实现cookie登录问题
- Android反射机制实例参考(转载)
- VirtualBox Centos6.6 x64 安装oracle 11gR2
- 大型网站架构系列:分布式消息队列(一)
- 关于在ubuntu上搭建python paramiko
- [自编号1-2]将spring framework源码导入Spring Tool Suite中
- 打印hasmap的2中方法
- OpenWRT开发自定义应用方法
- 写给软件学院的本科生