相信各位在写 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 来进行模拟登陆,然后返回一下验证码,之后传入验证码即可登陆成功了。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]