python爬虫登录网站,python 爬虫 登录

  python爬虫登录网站,python 爬虫 登录

  

python视频教程栏目介绍实现python的爬虫网页登录。

  免费推荐:python视频教程

  相信大家在编写python爬虫的时候,在抓取网站的时候会遇到一些登录问题,比如登录的时候会遇到输入验证码,比如登录的时候会遇到图片拖拽等验证。你如何解决这样的问题?一般有两种方案。

  使用cookie登录。

  我们可以使用cookies登录,先获取浏览器的cookies,然后使用requests库直接登录。服务器会认为你是一个真正的登录用户,所以会返回一个登录状态给你。这个方法非常容易使用。基本上大多数需要验证码的网站都可以通过cookies登录。

  #!-*-编码:utf-8 -*-

  导入请求导入随机导入请求。要访问的适配器#目标页

  targetUrlList=[

   https://httpbin.org/ip ,

   https://httpbin.org/headers ,

   https://httpbin.org/user-agent ,

  ]

  #代理服务器

  proxyHost=t.16yun.cn

  proxyPort=31111

  #代理隧道认证信息

  proxyUser=用户名

  proxyPass=密码

  proxyMeta=http://%(用户)s:%(通过)s@%(主机)s:%(端口)s % {

  主机 :代理主机,

  端口 :代理端口,

  用户:代理用户,

  pass: proxyPass,

  }

  # http代理用于设置http和https访问

  代理={

  http: proxyMeta,

  https: proxyMeta,

  }

  #访问网站三次,使用同一个会话(keep-alive),都可以保持同一个外部IP。

  s=requests.session()

  #设置cookie

  cookie _ dict={ j session : 123456789 }

  cookies=requests . utils . cookiejar _ from _ dict(cookie _ dict,cookiejar=None,overwrite=True)

  s.cookiess=范围(3):中I的cookie

  对于targetUrlList:中的url

  r=s.get(url,proxies=proxies)

  打印简历

  如果有验证码,此时使用resp * * e=requests _ session . post(URL=URL _ log in,data=data)是不可接受的。方法应该如下:

  Resp * * e _ captcha=requests _ session . get(URL=URL _ log in,cookies=cookies)Resp * * E1=requests . get(URL _ log in)#未登录Resp * * E2=requests _ session . get(URL _ log in)#登录是因为RESP * * E3=requests _ session . get(URL _ results)#已经登录是因为我之前得到了Resp**e Cookie!模拟着陆

  这里不得不说一句老话,前人栽树,后人乘凉。当时想爬上知乎的选盐篇,却卡在了登陆区。没想到搜下来发现了一个模拟着陆的库,非常好用。不过基于好东西不分享防止和谐的原则,这里就不说了。

  具体思路是通过请求模拟登录,然后返回验证码,再传入验证码登录成功。以上就是python爬虫网页登录的实现细节。更多信息请关注盛行IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: