展开全部

# 登录知乎,通过保存验证图片方式

import urllib.request

import urllib.parse

import time

import http.cookiejar

webUrl = "https://www.zhihu.com/login/email"#不能写https://www.zhihu.com/#signin因为不支持重定向e68a84e8a2ad3231313335323631343130323136353331333363393131

webheader = {

# 'Accept': 'text/html, application/xhtml+xml, */*',

# 'Accept-Language': 'zh-CN',

# 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko',

'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36',

# 'User-Agent': 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5',

# 'DNT': '1',

# 'Connection': 'Keep-Alive'

}

postData = {

'email': '在这里写你的账号',

'captcha_type': 'cn',

'password': '在这里写你的密码',

'_xsrf': '',

'captcha': ''

}

localStorePath = "写你想保存的验证码图片的地址"

if __name__ == '__main__':

#声明一个CookieJar对象实例来保存cookie

cookie = http.cookiejar.CookieJar()

#创建opener

handler = urllib.request.HTTPCookieProcessor(cookie)

opener = urllib.request.build_opener(handler)#建立opener对象,并添加头信息

urllib.request.install_opener(opener)

captcha_url = 'https://www.zhihu.com/captcha.gif?r=%d&type=login&lang=cn' %(time.time() * 1000)

# captcha_url = 'http://www.zhihu.com/captcha.gif?r=%d&type=login' %(time.time() * 1000)#这样获得的是“字母+数字验证码”

#这个获取验证码图片的方法是不行的!

# urllib.request.urlretrieve(captcha_url, localStorePath + 'myCaptcha.gif')

#用urlopen函数保存验证图片

req = urllib.request.Request(url=captcha_url,headers=webheader)

content = urllib.request.urlopen(req)

# content = opener.open(req)

captcha_name = 'D:/Python学习/crawler_learning/知乎登录专题研究/知乎验证码图片/myNewCaptcha.gif'

content = content.read()

with open(captcha_name, 'wb') as f:

f.write(content)

postData['captcha'] = input('请输入验证码')

# postData['_xsrf'] = get_xsrf()

postData['_xsrf'] = 'fa5ae712244bd4287e371801052003fc'

print(postData['_xsrf'])

#用urlopen函数传送数据给服务器实现登录

postData_encoded = urllib.parse.urlencode(postData).encode('utf-8')

req = urllib.request.Request(url=webUrl,data=postData_encoded,headers=webheader)

webPage = urllib.request.urlopen(req)

# webPage = opener.open(req)

data = webPage.read().decode('utf-8')

print(data)

with open("D:/知乎服务器反馈的内容.txt",mode='w',encoding='utf-8') as dataFile:

dataFile.write(data)

python编辑器中文字体倒立的_如何用Python+人工识别处理知乎的倒立汉字验证码...相关推荐

  1. python中文模糊关键词提取_如何用Python提取中文关键词?

    本文一步步为你演示,如何用Python从中文文本中提取关键词.如果你需要对长文"观其大略",不妨尝试一下. 需求 好友最近对自然语言处理感兴趣,因为他打算利用自动化方法从长文本里提 ...

  2. python词云有什么用_如何用Python实现词云效果

    如何用Python实现词云效果 发布时间:2020-06-06 10:56:57 来源:亿速云 阅读:204 作者:Leah 这篇文章主要为大家详细介绍了用Python实现词云效果的方法,图文详解容易 ...

  3. python如何让图片镜像翻转_如何用 Python 增量备份 Roam Research 笔记图片?

    消除后顾之忧,轻松输入卡片笔记. 题图:Photo by Markus Spiske on Unsplash 前些日子,我用视频的方式给你介绍了 Roam Research 这款工具.如果你还没有来得 ...

  4. 用python做一个舆情分析系统_如何用Python做舆情时间序列可视化?

    如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...

  5. python怎样打开加密的文件_如何用Python 加密文件

    生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库. 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而 ...

  6. python在工作中怎么用_如何用python在工作中“偷懒”

    原标题:如何用python在工作中"偷懒" "偷懒还能干完活,才是本事 " 有些朋友在工作中会有这样的困惑:明明我从早忙到晚,为什么得到的评价还不高? 要知道, ...

  7. 用python写用手机发邮件_如何用python写发邮件?

    原标题:如何用python写发邮件? 1. 163邮箱 163邮箱需要设置客户端授权密码 请输入图片描述 # coding:utf-8 from email.header import Header ...

  8. 如何用python完成基本统计信息计算_如何用python计算基本统计值?

    如何用python计算基本统计值? 用python计算基本统计值的代码为def getNum(): #从控制台获取多个不确定数据的方法 nums = []; iNumStr = input(" ...

  9. python生僻字如何转码_如何用Python检测生僻字

    最近在工作中碰到一个需求,要求检测字段是否包含生僻字以及一些非法字符如 ~!@#$%^&*.通过网上的查找资料解决了,现在将解决的过程和示例代码分享给大家,有需要的可以参考借鉴.下面来一起看看 ...

  10. python中是什么意思权重_如何用python实现熵值法求指标权重(实例)

    权重是指某一因素或指标相对于某一事物的重要程度,其不同于一般的比重,体现的不仅仅是某一因素或指标所占的百分比,强调的是因素或指标的相对重要程度,倾向于贡献度或重要性.而在我们的数据分析过程中,倘若各个 ...

最新文章

  1. UBuntu 系统设置禁用快捷键
  2. MySQL的存储引擎与日志说明
  3. BF,KMP,BM三种字符串匹配算法性能比较
  4. exchange 只发送邮件 不能登录_springboot + rabbitmq发送邮件
  5. Linux 文件系统与设备文件系统 (一)—— udev 设备文件系统
  6. ie6 css padding,IE6padding的一个影响布局的问题在
  7. mysql数据库表的类型介绍,mysql数据库表的类型介绍
  8. 远程办公的 33 种预测
  9. macos mysql8_macOS + MySql8 问题
  10. html5开发播放器,larkplayer: 插件化的 HTML5 播放器
  11. lingo数学软件完整教程
  12. latex 罗马数字方程组大括号
  13. 设计师工作经验_得到我作为设计师的第一份工作
  14. html5怎么写副标题,毕业论文副标题怎么写
  15. 原创SpringMvc+Mybatis+Redis框架
  16. 前端cookie的设置获取删除
  17. 让我们来谈谈python中的prettyprint和pprint
  18. 数据载入、存储及文件格式——《利用python数据分析》第六章学习
  19. 输出自新中国成立以来至今所有的闰年年份。
  20. 虚拟机VMware上安装Fedora

热门文章

  1. mysql数据生成词云图_CVPR2018关键字分析生成词云图与查找
  2. java蓝桥杯省赛第十届_2019年第十届蓝桥杯省赛-迷宫(BFS/Excel大法)
  3. java applet html_将图像从Java Applet传递到HTML
  4. c#学习总结(一)---Mr.Zhang
  5. ext Grid(三)
  6. it计算机知识竞赛主持稿,西安交大城市学院计算机系举办第四届“走进IT,触碰未来”计算机知识竞赛...
  7. 鸿蒙-HI3516-Docker环境搭建编译烧录
  8. maven导出Java方法_eclipse导出maven工程的可执行jar包
  9. 测试kafka的连通性,自导自演生产者与消费者
  10. 区块链矿池(pool)汇总(不定期更新,欢迎评论区留言)