request模拟知乎登录(无验证码机制)
import request
try:
import cookielib #python2版本
except:
import http.cookiejar as cookielib #python3版本
import re
session=request.session()
session.cookies=cookielib.LWPCookieJar(filename="cookies.txt") #将cookies存储到本地文件
#加载cookies文件
try:
session.cookies.load(ignore_discard=True)
except:
print("cookies未能加载")
User_Agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36"
header={
"HOST" : "www.zhihu.com",
"Referer" : "https://www.zhihu.com",
"User_Agent" : User_Agen"
}
#获取xsrf
def get_xsrf():
response=session.post("https://www.zhihu.com",headers=header) #请求网页需带上头文件
match_obj=re.match(' .*name="_xsrf" value="(.*?)" ') #注意使用单双引号
if match_obj:
return (match_obj(1))
else:
return " "
def get_index():
response=session.get("https://www.zhihu.com",headers=header)
with open("index_page.heml",wb) as f:
f,write(response.text.encode("utf-8"))
print ("ok")
#模拟知乎登录
def zhihu_login(account,password):
if re.match("^1\d{10}",account): #验证账号是否为手机号
print ("手机登录")
post_url="https://www.zhihu.com/login/phone_num"
post_data={
"_xsrf" : get_xsrf(),
"phone_num" : account,
"password" : password
}
else:
if "@" in account:
print (“邮箱登录”)
post_url="https://www.zhihu.com/login/email"
post_data={
"_xsrf" : get_xsrf(),
"email" : account,
"password" : password
}
response_text=session.post(post_url,post_data,headers=header)
session.cookies.save()
#验证是否登录成功
def is_login():
inbox_url="https://www.zhihu.com/inbox"
response=session.get(inbox_url,headers=header,allow_redirects=False)
if response.status_code !=200:
return False
else:
return True
zhihu.login("18782902568","admin123")
get_index()
request模拟知乎登录(无验证码机制)的更多相关文章
- scrapy模拟知乎登录(无验证码机制)
---恢复内容开始--- spiders 文件夹下新建zhihu.py文件(从dos窗口中进入虚拟环境,再进入工程目录之后输入命令 scrapy genspider zhihu www.zhihu.c ...
- (转)request模拟知乎登录(无验证码机制
原文:http://www.itnose.net/detail/6755805.html import request try: import cookielib #python2版本 except: ...
- htmlunit 模拟登录 无验证码
1.模拟登录csdn,最开始的时候使用的是httpclient,网上的所有模拟登录csdn的版本都是找到lt/execution/event_id.连同用户名及密码 一起发送即可,但是目前的csdn的 ...
- 使用selenium模拟知网登录
之前都是用phantomjs和selenium模拟浏览器动作的,后来phantomjs不再更新,就转用chrome了 本次模拟登录的网站是中国知网http://login.cnki.net/login ...
- Python模拟知乎登录
# -*- coding:utf-8 -*- import urllib import urllib2 import cookielib import time from PIL import Ima ...
- 8-python模拟登入(无验证码)
方式: 1.手动登入,获取cookie 2.使用cookielib库 和 HTTPCookieProcessor处理器 #_*_ coding: utf-8 _*_ ''' Created on 20 ...
- 新版知乎登录之post请求
前言 在上一篇文章中给大家讲解了requests发送post请求的几种方式,并分析了一些使用陷阱. 疑惑 在文章发表之后,有朋友给我留言说,知乎登录就没有使用提交Form表单(application/ ...
- python爬虫scrapy框架——人工识别知乎登录知乎倒立文字验证码和数字英文验证码
目前知乎使用了点击图中倒立文字的验证码: 用户需要点击图中倒立的文字才能登录. 这个给爬虫带来了一定难度,但并非无法解决,经过一天的耐心查询,终于可以人工识别验证码并达到登录成功状态,下文将和大家一一 ...
- 第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别
第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别 第一步.首先下载,大神者也的倒立文字验证码识别程序 下载地址:https://gith ...
随机推荐
- [Linux] 服务器镜像定时备份解决方案 crontab+rsync+flock
两台服务器定时同步文件解决方案: 环境: 主机:192.168.1.1 镜像机:192.168.1.2 需要将主机内容备份至镜像机(假设用户都为root) 备份内容为 /export 目录下所有内容至 ...
- pyinstaller加密打包
pyinstaller -F -w --key=keys --clean --icon=imgs/xxx.ico xxx.py
- npm 版本问题
STF之问题篇 https://yq.aliyun.com/articles/221602 装完成后输入stf doctor查看工具依赖是否正确,安装教程可以参考我之前写的,这里不再多说,直接说问题. ...
- 详细讲解Java中方法的重载和重写
首先讲讲方法的重载: Java的重载就是在类中可以创建多个方法,它们具有相同的名字,但是却有不同的参数. 判断是否重载只有两个条件: 1)相同的方法名 2)不同的参数 具体为: A.方法参数类型不同 ...
- VS 附加进程调试
1.在IIS 上新建一个项目,制定目录到 项目根目录. 2.制定IIS上指定 主机名称如: vk.com 3. 修改主机HOST 文件:C:\Windows\System32\drivers\etc ...
- 【其他】Windows 系统安装IIS 打开页面出现空白解决方案
部署IIS过程中遇到了一个奇怪的问题,就是怎么设置打开的页面都是一篇空白,IIS也没有任何报错,翻遍互联网好不容易找到了解决方法,今天就教给大家,希望大家不要走弯路.此方法Windows xp.7.8 ...
- [CF1076E]Vasya and a Tree
题目大意:给定一棵以$1$为根的树,$m$次操作,第$i$次为对以$v_i$为根的深度小于等于$d_i$的子树的所有节点权值加$x_i$.最后输出每个节点的值 题解:可以把操作离线,每次开始遍历到一个 ...
- BZOJ1044 [HAOI2008]木棍分割 【二分+Dp】
1044: [HAOI2008]木棍分割 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4281 Solved: 1644 [Submit][St ...
- 怎么替换jar包里面的文件?
很多时候,我们需要替换包含在jar包里面的文件,例如修改里面的配置文件. 由于jar包已经生成,在不想重新用eclipse导出的情况下,我们怎么修改jar包里面的文件呢? 其实说出来很简单,可以使用以 ...
- [hdu 6069]素数筛+区间质因数分解
给[L,R]区间的每一个数都质因数分解的复杂度可以达到(R-L)logR,真的涨姿势…… 另外,质因数分解有很重要的一点,就是只需要打sqrt(R)以内的素数表就够了……因为超过sqrt(R)的至多只 ...