目标: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模拟登录实战(二)相关推荐

  1. Python模拟登录实战,采集整站表格数据

    本节主要内容有: 通过requests库模拟表单提交 通过pandas库提取网页表格 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. ...

  2. python爬虫token_Python入门:模拟登录(二)或注册之requests处理带token请求

    转自http://blog.csdn.net/foryouslgme/article/details/51822209 首先说一下使用Python模拟登录或注册时,对于带token的页面怎么登录注册模 ...

  3. Python学习教程:用Python模拟登录淘宝

    今天跟大家出的Python学习教程,Python模拟登录淘宝,我知道,肯定是吸引了你,一起来看看吧! 最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录 ...

  4. python模拟登录网站_Python模拟登录淘宝都实现了,你还怕模拟登录?

    文章转载自公众号 :裸睡的猪 , 作者 猪哥66 最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章! 看了下网上有很多关于模拟登录淘宝,但是 ...

  5. header python 环境信息_【关于header信息的构造】Python模拟登录出现乱码

    使用Python模拟登录Z-Blog系统的后台时,如果构造的header信息如下,那么得到的结果将会乱码,如下图所示 对应的错误的header信息如下: url = "http://192. ...

  6. 2019年最新 Python 模拟登录知乎 支持验证码

    2019年最新 Python 模拟登录知乎 支持验证码和保存 Cookies 知乎的登录页面已经改版多次,加强了身份验证,网络上大部分模拟登录均已失效,所以我重写了一份完整的,并实现了提交验证码 (包 ...

  7. Python模拟登录某橙色软件并获取所有订单,康康买了啥奇奇怪怪的东西?

    温馨提示 现在宝换成了滑块验证了, 比较难解决这个问题,以下的代码没法用了, 仅作学习参考研究之用吧. 本篇内容 python模拟登录宝网页 获取登录用户的所有订单详情 学会应对出现验证码的情况 体会 ...

  8. python模拟登录网易邮箱

    python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup#设置 ...

  9. python模拟登录详细教程_Python模拟登录requests.Session应用详解

    最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...

最新文章

  1. MS SQL入门基础:系统数据库
  2. 硬盘突然提示没有初始化_新硬盘的分区
  3. debian 安装_如何在 Debian/Ubuntu 系统中检查程序包是否安装?
  4. Java常见gis开源框架,开源gis大全java
  5. php 做圆形头像,php制作圆形用户头像方法
  6. cocos2d-js 开发常见问题
  7. 【和76】龙头企业在区域市场中竞合关系分析样例(温微观察13-6)
  8. 【SpringBoot教程】根据环境自动装配
  9. 查看详细Windows VISTA 或Windows 7激活状态
  10. 手机尾号猜年龄骗局解密
  11. 给大家普及呼叫中心和电话营销系统相关知识--中继线路
  12. 如何开启bios虚拟化
  13. php 正则过滤中英文标点
  14. csv文件用excel打开中文乱码如何设置
  15. Springboot-软件授权License
  16. 德州仪器TI芯片自动下单抢购监控软件技术分析
  17. 【JDBC-1】jdbc编程六大步骤
  18. 学习Word必学这一招——样式
  19. 教您用数学课件制作工具演示线变二面角
  20. gazebo+rviz中配置UR+robotiq_gripper夹爪,最详细操作过程

热门文章

  1. EDI的报文标准和代码标准
  2. 31-Linux(开发环境,转载)
  3. 最时髦的AI画画,一文包教包会
  4. Moviepy输出视频MP4文件Windows媒体播放器播放无画面只有声音问题的解决办法
  5. 入门系列:基础认知——main函数参数说明
  6. Maven项目混淆、瘦身、打包exe
  7. 数据库系统概论 3.关系数据库标准语言SQL
  8. CPalette调色板使用
  9. 网络编程_HTTP协议_Web服务器_(TCP3次握手4次挥手,长短连接,伪静态、静态和动态)
  10. 【零】ODB - C++ 持久层框架ODB