首页 / 爬虫 / python 爬虫网页登录的实现
python 爬虫网页登录的实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 爬虫网页登录的实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2290字,纯文字阅读大概需要4分钟。
内容图文
python视频教程栏目介绍实现python的爬虫网页登录。
免费推荐:python视频教程
相信各位在写python爬虫的时候会在爬取网站时遇到一些登陆的问题,比如说登陆时遇到输入验证码比如说登录时遇到图片拖拽等验证,如何解决这类问题呢?一般有两种方案。
使用cookie登陆
我们可以通过使用cookies登陆,首先获取浏览器的cookie,然后利用requests 库直接登陆cookie,服务器就会认为你是一个真实登陆用户,所以就会返回给你一个已登陆的状态,这个方法是很好用的,基本上绝大部分的需要验证码登录的网站都可以通过cookie登录来解决,
#! -*- encoding:utf-8 -*- import requests import random import requests.adapters # 要访问的目标页面 targetUrlList = [ "https://httpbin.org/ip", "https://httpbin.org/headers", "https://httpbin.org/user-agent", ] # 代理服务器 proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理隧道验证信息 proxyUser = "username" proxyPass = "password" proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { "host": proxyHost, "port": proxyPort, "user": proxyUser, "pass": proxyPass, } # 设置 http和https访问都是用HTTP代理 proxies = { "http": proxyMeta, "https": proxyMeta, } # 访问三次网站,使用相同的Session(keep-alive),均能够保持相同的外网IP s = requests.session() # 设置cookie cookie_dict = {"JSESSION":"123456789"} cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True) s.cookies = cookies for i in range(3): for url in targetUrlList: r = s.get(url, proxies=proxies) print r.text 若存在验证码,此时采用resp**e = requests_session.post(url=url_login, data=data)是不行的,做法应该如下: resp**e_captcha = requests_session.get(url=url_login, cookies=cookies)resp**e1 = requests.get(url_login) # 未登陆resp**e2 = requests_session.get(url_login) # 已登陆,因为之前拿到了Resp**e Cookie!resp**e3 = requests_session.get(url_results) # 已登陆,因为之前拿到了Resp**e Cookie!
模拟登陆
这里不得不说一句老话,前人种树,后人乘凉,当时我想爬一下知乎盐选的文章,但是卡在了登陆这块,没想到搜索下来发现了一个模拟登陆的库,非常好用,不过本着好东西不分享防和谐的原则,就不在这里说了。
具体思路也就是通过requests来进行模拟登陆,然后返回一下验证码,之后传入验证码即可登陆成功了。
以上就是python 爬虫网页登录的实现的详细内容。
本文系统来源:https://www.php.cn/python-tutorials-465026.html内容总结
以上是互联网集市为您收集整理的python 爬虫网页登录的实现全部内容,希望文章能够帮你解决python 爬虫网页登录的实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。