python 爬虫网页登陆的简单实现


Posted in Python onNovember 30, 2020

相信各位在写 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 爬虫网页登陆的简单实现的文章就介绍到这了,更多相关python 爬虫登陆内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
Python实例一个类背后发生了什么
Feb 09 Python
Python、PyCharm安装及使用方法(Mac版)详解
Apr 28 Python
pandas中Timestamp类用法详解
Dec 11 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
python超时重新请求解决方案
Oct 21 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
Oct 15 Python
用Python生成会跳舞的美女
Jan 18 Python
Prometheus开发中间件Exporter过程详解
Nov 30 #Python
python实现猜拳游戏项目
Nov 30 #Python
Python解析微信dat文件的方法
Nov 30 #Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 #Python
使用python将微信image下.dat文件解密为.png的方法
Nov 30 #Python
Python 微信公众号文章爬取的示例代码
Nov 30 #Python
python爬虫工具例举说明
Nov 30 #Python
You might like
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
Cakephp 执行主要流程
2010/03/24 PHP
php的memcache类分享(memcache队列)
2014/03/26 PHP
php实现mysql封装类示例
2014/05/07 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
xml转json的js代码
2012/08/28 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
python实现查询苹果手机维修进度
2015/03/16 Python
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
python实现一次创建多级目录的方法
2015/05/15 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
django解决跨域请求的问题详解
2019/01/20 Python
Django之路由层的实现
2019/09/09 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
物业管理公司实习生自我鉴定
2013/09/19 职场文书
幼儿园实习自我鉴定
2013/12/15 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书