Python 模拟知乎登陆,保存登陆cookie
来源:互联网 发布:淘宝卖什么比较冷门 编辑:程序博客网 时间:2024/05/20 05:23
import requestsfrom bs4 import BeautifulSoup as BSimport timefrom subprocess import Popen # 打开图片import http.cookiejarimport re# 模拟浏览器访问headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36'}home_url = "https://www.zhihu.com"base_login = "https://www.zhihu.com/login/" # 一定不能写成http,否则无法登录session = requests.Session()session.cookies = http.cookiejar.LWPCookieJar(filename='ZhiHuCookies')try: # 加载Cookies文件 session.cookies.load(ignore_discard=True)except: print("cookie未保存或cookie已过期") # 第一步 获取_xsrf _xsrf = BS(session.get(home_url, headers=headers).text, "lxml").find("input", {"name": "_xsrf"})["value"] # 第二步 根据账号判断登录方式 account = input("请输入您的账号:") password = input("请输入您的密码:") # 第三步 获取验证码图片 gifUrl = "http://www.zhihu.com/captcha.gif?r=" + str(int(time.time() * 1000)) + "&type=login" gif = session.get(gifUrl, headers=headers) # 保存图片 with open('code.gif', 'wb') as f: f.write(gif.content) # 打开图片 Popen('code.gif', shell=True) # 输入验证码 captcha = input('captcha: ') data = { "captcha": captcha, "password": password, "_xsrf": _xsrf, } # 第四步 判断account类型是手机号还是邮箱 if re.match("^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\s]?)$", account): # 邮箱 data["email"] = account base_login = base_login + "email" else: # 手机号 data["phone_num"] = account base_login = base_login + "phone_num" print(data) # 第五步 登录 response = session.post(base_login, data=data, headers=headers) print(response.content.decode("utf-8")) # 第六步 保存cookie session.cookies.save()# 获取首页信息resp = session.get(home_url, headers=headers, allow_redirects=False)
阅读全文
0 0
- Python 模拟知乎登陆,保存登陆cookie
- python模拟登陆知乎,得到cookie
- python---模拟登陆知乎
- python 模拟知乎登陆
- 模拟登陆知乎
- 使用python完成知乎模拟登陆
- Python爬虫模拟登陆知乎
- Python 爬虫模拟登陆知乎
- Python爬虫之模拟登陆知乎
- Python爬虫模拟登陆知乎
- 【scrapy】模拟登陆知乎
- selenium模拟登陆知乎
- python模拟登陆知乎和CSDN【urllib,re,requests】
- python爬虫 scrapy框架 知乎zhihu 模拟登陆
- 利用python requests库模拟登陆知乎
- python模拟登陆知乎(手工识别验证码)
- Python模拟登陆知乎,获取收藏夹内容
- Python模拟登陆万能法-微博|知乎
- ABB副总裁顾纯元:柔性自动化怎么帮助制造业的转型升级?
- 详情:微软 262 亿美元收购 LinkedIn,后者将保持独立
- 【金融量化】我以为我是食物链顶层的收割者,想不到只是别人手中的镰刀
- linux系统中cut的用法
- <tarjan||拓扑>codevs 2066 三角恋
- Python 模拟知乎登陆,保存登陆cookie
- dubbo安装
- Idea快捷键设置复制上一行
- 一行行看SDWebImage源码(最新版本v4.1.2)
- 【java-日志组件】slf4j+logback配置及详解
- C3P0和DBCP数据库连接池的
- 苹果WWDC官方推荐,腾讯手机管家终结iPhone诈骗电话
- JavaScript知识夯实系列-4.运算符
- 根据四个点坐标求两个直线的交叉点坐标