教案 Ch5.表单与模拟登录.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标注 字体使用 行距 背景图片出处 声明 英文 Microsoft YaHei 中文 微软雅黑 正文 1.3 本网站所提供的任何信息内容(包括但不限于 PPT 模板、Word 文档、Excel 图表、图片素材等)均受《中华人民共和国著作权法》、《信息网络传播权保护条例》及其他适用的法律法规的保护,未经权利人书面明确授权,信息内容的任何部分(包括图片或图表)不得被全部或部分的复制、传播、销售,否则将承担法律责任。 OfficePLUS 背景图片素材 OfficePLUS 点击Logo获取更多优质模板(放映模式) 表单与模拟登录 第5章 表单与模拟登录 Add Text 点击此处添加标题 表单 Cookie 模拟登录网站 验证码 目录 表单与模拟登录 HTTP POST操作 表单(Form)这个概念往往会与HTTP POST联系在一起,“表单”具体的是指HTML页面中的form元素,通过HTML页面的表单来POST发送出信息是最为常见的与网站服务器的交互方式之一 1. 表单 import requests form_data = {'username':'user','password':'password'} resp = requests.post('',data=form_data) 表单与模拟登录 除了用作登录的表单,还有用于其他用途的表单,而且,网页中表单的输入(字段)信息也不一定必须是用户输入的文本内容,在上传文件时我们也会用到表单 1. 表单 表单与模拟登录 常见的账户登录表单结构 1. 表单 表单与模拟登录 根据POST记录,首先可以确定POST的目标URL地址,接着需要注意的是Request Headers中的信息,其中的User-Agent值可以作为我们伪装爬虫的有力帮助。最后,我们找到Form Data数据,其中的字段包括username、password、quickforward、handlekey,据此我们就可以编写自己的登录表单POST程序了 1. 表单 表单与模拟登录 Session对象 Session会话对象让你能够跨请求保持某些参数 通过Network工具分析表单数据 有一些表单会包含一些单选框、多选框等内容。其实分析它的本质仍然是简单的字段名:字段值结构,仍然可以使用上述类似的方法进行GET和POST操作。 1. 表单 表单与模拟登录 网站方为了一定的目的而存储在用户本地的数据 保持登录状态 Cookie和Session Session是指抽象的客户端-服务器端交互状态 Cookie可以作为Session的一个具体实现手段 2. Cookie 表单与模拟登录 发送Cookie的过程中,浏览器一般把Cookie数据放在HTTP请求的Header数据中,由于增加了网络流量,也招致了一些人对Cookie的批评 2. Cookie 很多大型网站都有针对Cookie的使用政策 表单与模拟登录 以知乎()为例 理论上说,只要本地的Cookie信息仍在过期期限内,就一直能够模拟出登录状态。再想象一下,其实无论是通过模拟浏览器还是其他方法,只要我们能够成功还原出登录后的Cookie状态,那么模拟登录状态就不再困难了 3. 模拟登录网站 表单与模拟登录 两种思路: 直接在爬虫程序中提交表单,通过requests的Session来保持状态 通过浏览器来进行辅助,先通过一次手工的登录来获取并保存Cookie,在之后的抓取或者访问中直接加载保存了的Cookie,使得网站方“认为”我们已经登录 使用requests加载Cookie 3. 模拟登录网站 表单与模拟登录 3. 模拟登录网站 import requests, pickle from bs4 import BeautifulSoup from pprint import pprint headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) ' 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'} sess = requests.Session() with open('zhihu-cookies.pkl', 'rb') as f: cookie_data = pickle.load(f) # 加载cookie信息 for cookie in cookie_data: sess.cookies.set(cookie['name'], cookie['value']) # 为session设

文档评论(0)

188****2864 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档