模拟登陆:

  • 爬取基于某些用户的用户信息。

需求:对人人网进行模拟登陆。

  • 点击登陆按钮之后会发起一个post请求
  • post请求会携带登录之前录入的相关的登录信息(用户名,密码,验证码…)
  • 验证码:每次请求都会变化
import requests
from lxml import etree# 1.对验证码图片进行捕获和识别。
url = 'http://www.renren.com/SysHome.do'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.63'
}
page_text = requests.get(url=url,headers=headers).text
# 从page_text中获取验证码图片
tree = etree.HTML(page_text)
code_img_src = tree.xpath('此处放验证码img标签的xpath')
# 通过验证码的url获取将验证码图片保存到本地
code_img_data = requests.get(url=code_img_src,headers=headers).content
with open('./code.jpg','wb') as f:f.write(code_img_data)# 通过云打码提供的示例代码对验证码图片进行识别。
# result = getCodeText('code.jpg',2004)# post请求的发送(模拟登陆)
login_url = '点击登陆之后通过抓包工具获取的login的那个包所对应的url'
data = {# 将该login包中的所有参数复制进去# 并且将里面的'icode' 值改为 result}
# 登录成功后的页面源码;
login_page_text = requests.post(url=login_url,headers=headers,data=data).text
with open('./renren.html','w',encoding='utf-8') as f:f.write(login_page_text)

有的网页登录后拿到的响应数据可能不是页面的源码,那么如何验证自己是否已经成功的拿到登录之后的响应数据?
可以通过显示post请求的响应状态码。
如果打印的是200 说明post请求成功 也说明模拟登陆成功

response = requests.post(url=login_url,headers=headers,data=data)
print(response.status_code) # 如果打印的是200 说明post请求成功 也说明模拟登陆成功

通过云打码实现人人网模拟登陆(现在已经无法使用)相关推荐

  1. python3模拟登陆人人网(requests)

    前言 之前看别人一直模拟登陆人人网,我就想人人网有头有脸的咋那么好模拟登陆进去呢,,今天看了下发现真的超级容易登陆,可能人人太老了也好久不更新了吧.人人网一点防护措施都没有,没有验证码,没有加密,没有 ...

  2. PythonScript_003_通过Cookie模拟登陆人人网

    #!/usr/bin/env python # -*- coding:utf-8 -*-import urllib.request import http.cookiejar # 相当于Python2 ...

  3. 人人网模拟用户登陆行为后进入包贝尔的个人主页

    在人人网模拟用户登陆行为后进入包贝尔的个人主页 (用户登陆URL:http://www.renren.com/PLogin.do 包贝尔的人人网个人页面URL:http://www.renren.co ...

  4. Htmlunit模拟登陆蓝墨云

    前言 进行爬虫的首先要做的事情就是模拟登陆你要爬虫的网站,最近小编模拟登陆了某云网站,接下来和大家分享一下. 叙述 Htmlunit概述 htmlunit 是一款开源的java 页面分析工具,读取页面 ...

  5. 【Python3.6爬虫学习记录】(九)模拟登陆QQ空间爬取好友所有留言并制作词云

    前言:非常郁闷,写了第三遍了,无故404 学了五天了,熬夜搞出这份代码,虽然一度卡死几个小时,但结果是好的. 目录 第一部分 Selenium+Chrome爬取空间留言 1.1 使用说明 1.2 代码 ...

  6. Python之 使用session类模拟登陆人人网

    使用request模块的session类模拟登陆人人网 因为人人网的登陆不需要验证码,故模拟登陆比较简单. 思路 1. 使用浏览器打开人人网的登陆页面 2. 找出登陆时发送post请求的url地址和请 ...

  7. python 模拟登陆人人网,并发文字状态

    这几天一直在学习用python 爬取网页, 今天试着写了一个小程序, 模拟登陆 人人网,并且提供了发送文字状态的函数.在登录的时候,已经可以处理有验证码的 情况 ,就拿来练手吧. (在处理字符串的部分 ...

  8. python3通过CookieJar与urllib模拟登陆人人网

    人人网有一个登陆用的接口http://www.renren.com/PLogin.do,该接口仅需要提交一个包含用户名和密码post表单再利用cookie的相关处理方法便可以模拟登陆.(不知道为什么还 ...

  9. Reptile:requests + 云打码平台实现 识别图片验证码登陆

    使用requests加上打码平台云打码,实现登陆有图片验证的网站,是图片验证码. 豆瓣的登陆验证方式换了,换成点击验证和图片滑动验证组合的了,所以实验对象不能使用豆瓣了 图片不能是JS写入的,必须得有 ...

  10. python模拟密码有效性检测功能_Python模拟登陆 —— 征服验证码 3 CSDN-阿里云开发者社区...

    CSDN使用了spring的webflow 这个隐藏参数可以理解成每个需要登录的用户都有一个流水号.只有有了webflow发放的有效的流水号,用户才可以说明是已经进入了webflow流程.否则,没有流 ...

最新文章

  1. 奇思妙想——我心中的智能自行车
  2. Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
  3. 30+个必知的《人工智能》会议清单
  4. 2017西安交大ACM小学期 选择困难症[折半枚举+二分查找]
  5. Java Priority Queue(PriorityQueue)示例
  6. python基础语法快速浏览
  7. vc6.0 radio控件多个分组
  8. Google再曝偷偷收集用户隐私,安卓苹果用户全都中招
  9. Activity的LaunchMode情景思考
  10. 用友NC6x单点登录实现——跳转到浏览器或Uclient
  11. Intel RST 和Optane 学习笔记
  12. STM32驱动LCD1602,哪位同学需要的,来了
  13. Linux操作系统实践
  14. css中怎么改变图片尺寸,CSS也可以改变图片幅面尺寸
  15. Oracle JDK究竟从哪个版本开始收费?
  16. 西雅图华盛顿大学计算机专业录取,华盛顿大学西雅图分校录取
  17. 什么是美国能源之星计划?
  18. 题:斐波那契数列(Fibonacci数列)——一个数最少几步变成斐波那契数列的数
  19. 区块链技术应用在金融领域之大数据风控
  20. 定位position-relative

热门文章

  1. nodejs安装时遇到的问题及解决方案
  2. 2019.03.04【ZJOI2018】【BZOJ5212】【洛谷P4338】历史(假LCT)
  3. SDI科普--- SD-SDI/HD-SDI/3G-SDI/12G-SDI
  4. [附源码]计算机毕业设计Node.js老薛男生服装网(程序+LW)
  5. 爬取网易严选某种衣服商品数据,实现可视化,结论有点吓人
  6. elementUI表格合并单元格详解
  7. Nginx 上传图片500错误
  8. 提升WordPress 打开速度全面解决方案
  9. java中级程序员_java中级程序员路线图(黑马)
  10. 一杯凉茶 mysql_一杯凉茶,一卷诗书