热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python模拟登录获取cookie_python爬虫运用cookie模拟登录知乎

前面已经介绍过,运用表单填写帐号,用户名的方式模拟登录知乎。若登录成功,则之后就可以利用cookie登入,无需重复之前步骤。

前面已经介绍过,运用表单填写帐号,用户名的方式模拟登录知乎。若登录成功,则之后就可以利用COOKIE登入,无需重复之前步骤。

importrequestsimporthttp.COOKIEjarfrom bs4 importBeautifulSoup

session=requests.Session()

session.COOKIEs= http.COOKIEjar.LWPCOOKIEJar("COOKIE")

agent= ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/5.1.2.3000 Chrome/55.0.2883.75 Safari/537.36‘headers={"Host": "www.zhihu.com","Origin":"https://www.zhihu.com/","Referer":"http://www.zhihu.com/",‘User-Agent‘:agent

}

postdata={‘password‘: ‘*******‘, #填写密码

‘account‘: ‘********‘, #填写帐号

}

response= session.get("https://www.zhihu.com", headers=headers)

soup= BeautifulSoup(response.content, "html.parser")

xsrf= soup.find(‘input‘, attrs={"name": "_xsrf"}).get("value")

postdata[‘_xsrf‘] =xsrf

result= session.post(‘http://www.zhihu.com/login/email‘, data=postdata, headers=headers)

session.COOKIEs.save(ignore_discard=True, ignore_expires=True)

运行后,在代码所在文件夹中出现COOKIE文件。

现在加载COOKIE登录:

importrequestsimporthttp.COOKIEjar as COOKIElib

session=requests.session()

session.COOKIEs= COOKIElib.LWPCOOKIEJar(filename=‘COOKIE‘)try:

session.COOKIEs.load(ignore_discard=True)except:print("COOKIE 未能加载")defisLogin():

url= "https://www.zhihu.com/"login_code= session.get(url, headers=headers, allow_redirects=False).status_codeif login_code == 200:returnTrueelse:returnFalseif __name__ == ‘__main__‘:

agent= ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/5.1.2.3000 Chrome/55.0.2883.75 Safari/537.36‘headers={"Host": "www.zhihu.com","Origin": "https://www.zhihu.com/","Referer": "http://www.zhihu.com/",‘User-Agent‘: agent

}ifisLogin():print(‘您已经登录‘)

运行后显示:您已经登录。

COOKIElib模块的主要作用是提供可存储COOKIE的对象,以便于requests模块配合使用来访问Internet资源。COOKIElib模块非常强大,我们可以利用本模块的COOKIEJar类的对象来捕获COOKIE并在后续连接请求时重新发送,比如可以实现模拟登录功能。该模块主要的对象有COOKIEJar、FileCOOKIEJar、MozillaCOOKIEJar、LWPCOOKIEJar。

它们的关系:COOKIEJar —-派生—->FileCOOKIEJar  —-派生—–>MozillaCOOKIEJar和LWPCOOKIEJar

默认的是FileCOOKIEJar没有实现save函数。

而MozillaCOOKIEJar或LWPCOOKIEJar都已经实现了。

所以可以用MozillaCOOKIEJar或LWPCOOKIEJar,去自动实现COOKIE的save。

COOKIEJar

/

FileCOOKIEJar

/                   \

MozillaCOOKIEJar      LWPCOOKIEJar



推荐阅读
  • 发现一个好看的手机壁纸网站,撸代码的手已经饥渴难耐了
    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。最近有同学的爬虫代码出了bug,给问我怎么改于 ... [详细]
  • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
  • 最近在学Python,看了不少资料、视频,对爬虫比较感兴趣,爬过了网页文字、图片、视频。文字就不说了直接从网页上去根据标签分离出来就好了。图片和视频则需要在获取到相应的链接之后取做下载。以下是图片和视 ... [详细]
  • nginx 解决跨域问题 No: 'AccessControlAllowOrigin' header is present on the requested resource
    错误信息:1, ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 渗透测试基础bypass绕过阻挡我们的WAF(下)
    渗透测试基础-bypass ... [详细]
  • 找到JDK下载URL当然去官网找了。目前最新的1.8的下载URL(RPM)如下:http:download.oracle.comotn-pubjavajdk8u161-b122f3 ... [详细]
  • 一.常见基于身份识别进行反爬1通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫1.1通过headers中的User-A ... [详细]
  • 注意:以下分析都是基于Retrofit2转载请注明出处:http:blog.csdn.netevan_manarticledetails51320637本节是《Retrofit的使 ... [详细]
  • 跨站的艺术XSS Fuzzing 的技巧
    作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
  • 这篇文章主要介绍PHP如何使用在全部作用域中始终可用的内置变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要 ... [详细]
author-avatar
编舞木煜率_841
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有