关于豆瓣登录,并实现验证码输入的方法
2018-06-18 01:47:36来源:未知 阅读 ()
最近想把模拟登录的知识学习下,所以就进行了豆瓣账号的简单登录,以下是代码:
# -*- coding:utf-8 -*- '''豆瓣模拟登陆,并实现发一条状态''' import requests session = requests.session() header = {"Host": "www.douban.com", "Referer": "https://www.douban.com/", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0" } def login(): print("====start====") username = input("please input your 账号:") password = input("please input your 密码:") payload = { "captcha-id": "", "captcha-solution":"", "form_email":username, "form_password":password, "source": "index_nav", "user_login": "登录" } # 通过验证码的获取得到验证码的图片和id rc = requests.get("https://www.douban.com/j/misc/captcha", headers=header) captchaUrl = rc.json()['url'] captchaid = rc.json()['token'] ri = requests.get("https:"+captchaUrl, headers=header) with open('captcha.jpg', "wb") as fc: fc.write(ri.content) payload["captcha-id"] = captchaid payload["captcha-solution"] = input("please input captcha code:") # 通过用户名密码登录豆瓣账号,并检查返回的html中是否有账号名称,如果有则说明成功了 rl = session.post("https://accounts.douban.com/login", headers=header,data=payload) if "ven忘了" in rl.text: print("login in success!") else: print("login in failure!") # session保持登录状态,在首页实现发布状态。 payload2 = { "ck": "oAEg", "comment":"今天的天气是真的好,万里无云,四季常青!" } rm = session.post("https://www.douban.com/", headers=header,data=payload2) print("success") login()
实现豆瓣的模拟登录,最关键的当然是要观察豆瓣账户是如何登录的,(在谷歌或者火狐浏览器中,实现一次登录,抓取登录时发送的包(是一个post的请求)),如下:
我们需要把参数中的值加入到请求当中去,然后headers的设定必不可少,使用session可以保持登录的状态,以便下一步实现对个人主页上的操作。
注:实现的内容比较简单,但是我觉得比较重要。如有疑问请私信我,也请大神指点。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Django项目中使用qq第三方登录。 2019-08-13
- python day2-爬虫实现github登录 2019-08-13
- python爬虫学习之淘宝模拟登录 2019-08-13
- Python爬虫:现学现用xpath爬取豆瓣音乐 2019-07-24
- python第一天---我要入个门 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash