Python模拟登录实战(二)
目标:1、模拟登录豆瓣,2、自动更改签名和发表说说。
代码如下:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 __author__ = 'ziv·chan' 4 5 6 import re 7 import time 8 import requests 9 from PIL import Image 10 11 url = 'https://www.douban.com/' 12 13 headers = { 14 'origin' : 'https://www.douban.com', 15 'referer' : 'https://www.douban.com/', 16 'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36' 17 } 18 19 session = requests.session() 20 21 # 获取验证码Id 22 def get_captchaId(): 23 html = session.get(url,headers=headers) 24 html.encoding = 'utf-8' 25 pageCode = html.text 26 pattern = re.compile('captcha[?]id=(.*?)&',re.S) 27 captchaId = re.findall(pattern,pageCode)[0] 28 return captchaId 29 30 # 获取验证码图片 31 def get_captchaSolu(captchaId): 32 url_plus = 'https://www.douban.com/misc/captcha?id=%s&size=s' % captchaId 33 cha = session.get(url_plus,headers=headers) 34 with open('cap_douban.png','wb') as f: 35 f.write(cha.content) 36 f.close() 37 im = Image.open('cap_douban.png') 38 im.show() 39 im.close() 40 captcha = raw_input('请输入验证码') 41 return captcha 42 43 # 编辑签名 44 def edit_signature(ck): 45 url = 'https://www.douban.com/j/people/143780683/edit_signature' 46 data = { 47 'ck' : ck, 48 'signature' : '人间有味是清欢。' 49 } 50 headers = { 51 'origin' : 'https://www.douban.com', 52 'referer' : 'https://www.douban.com/people/143780683/', 53 'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36', 54 'x-requested-with' : 'XMLHttpRequest' 55 } 56 session.post(url,data=data,headers=headers) 57 58 # 编辑说说 59 def edit_words(ck): 60 url = 'https://www.douban.com/' 61 data = { 62 'ck' : ck, 63 'comment' : '天之涯,地之角,知交半零落。一斛浊酒尽余欢,今宵别梦寒。' 64 } 65 headers = { 66 'origin': 'https://www.douban.com', 67 'referer': 'https://www.douban.com/', 68 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36' 69 } 70 session.post(url,data=data,headers=headers) 71 72 # 获取ck 73 def get_ck(): 74 url = 'https://www.douban.com/people/143780683/' 75 html = session.get(url,headers=headers) 76 pageCode = html.text 77 # print pageCode 78 pattern = re.compile('ck=(.*?)[(">)]',re.S) 79 ck = re.findall(pattern,pageCode)[0] 80 return ck 81 82 if __name__ == '__main__': 83 captchaId = get_captchaId() 84 captcha = get_captchaSolu(captchaId) 85 form_data = { 86 'source' : 'index_nav', 87 'form_email' : '18362972928', 88 'form_password' : 'ChelseaFC.2', 89 'captcha-solution' : captcha, 90 'captcha-id' : captchaId 91 } 92 session.post('https://www.douban.com/accounts/login',data=form_data,headers=headers) 93 94 ck = get_ck() 95 edit_signature(ck) 96 # 避免冲突,设置延时 97 time.sleep(5) 98 edit_words(ck)
转载于:https://www.cnblogs.com/ziv-chan/p/5507846.html
Python模拟登录实战(二)相关推荐
- Python模拟登录实战,采集整站表格数据
本节主要内容有: 通过requests库模拟表单提交 通过pandas库提取网页表格 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. ...
- python爬虫token_Python入门:模拟登录(二)或注册之requests处理带token请求
转自http://blog.csdn.net/foryouslgme/article/details/51822209 首先说一下使用Python模拟登录或注册时,对于带token的页面怎么登录注册模 ...
- Python学习教程:用Python模拟登录淘宝
今天跟大家出的Python学习教程,Python模拟登录淘宝,我知道,肯定是吸引了你,一起来看看吧! 最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录 ...
- python模拟登录网站_Python模拟登录淘宝都实现了,你还怕模拟登录?
文章转载自公众号 :裸睡的猪 , 作者 猪哥66 最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章! 看了下网上有很多关于模拟登录淘宝,但是 ...
- header python 环境信息_【关于header信息的构造】Python模拟登录出现乱码
使用Python模拟登录Z-Blog系统的后台时,如果构造的header信息如下,那么得到的结果将会乱码,如下图所示 对应的错误的header信息如下: url = "http://192. ...
- 2019年最新 Python 模拟登录知乎 支持验证码
2019年最新 Python 模拟登录知乎 支持验证码和保存 Cookies 知乎的登录页面已经改版多次,加强了身份验证,网络上大部分模拟登录均已失效,所以我重写了一份完整的,并实现了提交验证码 (包 ...
- Python模拟登录某橙色软件并获取所有订单,康康买了啥奇奇怪怪的东西?
温馨提示 现在宝换成了滑块验证了, 比较难解决这个问题,以下的代码没法用了, 仅作学习参考研究之用吧. 本篇内容 python模拟登录宝网页 获取登录用户的所有订单详情 学会应对出现验证码的情况 体会 ...
- python模拟登录网易邮箱
python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup#设置 ...
- python模拟登录详细教程_Python模拟登录requests.Session应用详解
最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...
最新文章
- MS SQL入门基础:系统数据库
- 硬盘突然提示没有初始化_新硬盘的分区
- debian 安装_如何在 Debian/Ubuntu 系统中检查程序包是否安装?
- Java常见gis开源框架,开源gis大全java
- php 做圆形头像,php制作圆形用户头像方法
- cocos2d-js 开发常见问题
- 【和76】龙头企业在区域市场中竞合关系分析样例(温微观察13-6)
- 【SpringBoot教程】根据环境自动装配
- 查看详细Windows VISTA 或Windows 7激活状态
- 手机尾号猜年龄骗局解密
- 给大家普及呼叫中心和电话营销系统相关知识--中继线路
- 如何开启bios虚拟化
- php 正则过滤中英文标点
- csv文件用excel打开中文乱码如何设置
- Springboot-软件授权License
- 德州仪器TI芯片自动下单抢购监控软件技术分析
- 【JDBC-1】jdbc编程六大步骤
- 学习Word必学这一招——样式
- 教您用数学课件制作工具演示线变二面角
- gazebo+rviz中配置UR+robotiq_gripper夹爪,最详细操作过程