爬虫第1章 爬虫_第1页
爬虫第1章 爬虫_第2页
爬虫第1章 爬虫_第3页
爬虫第1章 爬虫_第4页
爬虫第1章 爬虫_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

老师:李挺第十二章网络爬虫网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者)是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。01爬虫爬虫简介实例演示视频下载:/c/a3a86688-d96f-42b0-88c8-e81c37178565不是所有的网站视频都可以爬取到原视频地址。requests是python公认的最优秀的爬虫第三方库,可以实现自动爬取html页面内容。爬取网页代码非常简介,可以做到一行代码即可实现网页的爬取。urllib是python自带的爬虫标准库;python标准库:/zh-cn/3/library/index.html官方网站:https://2.02requests库方法方法说明requests.request()构造一个请求,支撑以下各方法的基础方法requests.get()获取HTML网页的主要方法,对应于HTTP的GETrequests.head()获取HTML网页头信息的方法,对应于HTTP的HEADrequests.post()向HTML网页提交POST请求的方法,对应于HTTP的POSTrequests.put()向HTML网页提交PUT请求的方法,对应于HTTP的PUTrequests.patch()向HTML网页提交局部修改请求,对应与HTTP的PATCHrequests.delete()向HTML页面提交删除请求,对应于HTTP的DELETE常见的请求方法有两种:get和postrequests.get(url,params=None,**kwargs)requests.get(url)构造一个向服务器请求资源的Request对象由request库自动生成请求服务器接收到请求,会将对应资源发送给客户端返回一个包含服务器资源的Response对象url:获取指定页面的链接params:url中的额外参数,字典或字节流格式,可选的**kwargs:12个控制访问的参数,可选的返回的Response信息包含服务器返回的信息和Requests信息请可打开pycharm观察源代码封装属性说明r.status_codeHTTP请求的返回状态,200表示连接成功r.textHTTP响应内容的字符串形式,即url对应的页面内容r.encoding从HTTPheader中猜测的相应内容编码方式r.apparent_encoding从内容中分析出的相应内容编码方式(备选编码方式)r.contentHTTP相应内容的二进制形式200表示连接成功,404代表客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应且不知原因Response对象的信息HTTPheader/get该网站会判断如果客户端发起的是GET请求的话,它返回相应的请求信息。添加额外信息现在想添加两个额外信息,其中name是zhangsan,sex是man例如:info={'name':'zhangsan','sex':'man'}r=requests.get('/get',params=info)r=requests.get('http:///get?name=zhangsan&sex=man')百度和360搜索如何自动的实现搜索关键词?百度和360搜索为搜索关键词提供了接口百度搜索接口:https:///s?wd=关键词360搜索接口:https:///s?q=关键词求的链接自动被构造成控制范围字headers修改请求头headers内容http://host[path]host:合法的Internet主机域名或IP地址

path:请求资源的路径,指主机服务器对应的地址例如:/https:///creator/featured-question/knowledge-planHTTP的全称是HyperTextTransferProtocol,中文名叫作超文本传输协议HTTPS的全称是HyperTextTransferProtocoloverSecureSocketLayer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,简称为HTTPS。URL格式状态码:百度百科状态码即可;POST请求向服务器传送数据表单信息data:提交字符信息files:文件上传form:提交表单信息高级部分cookies:Cookies指某些网站为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据。http的一个特点无状态:

http协议对事务处理是没有记忆功能的。当我们向服务器发送请求后,服务器解析此请求,然后返回对应的响应,服务器负责完成这个过程,而且这个过程是完全独立的,服务器不会记录前后状态的变化,也就是缺少状态记录。例如密码登录无法实现。用于保持HTTP连接状态的技术就出现了,它们分别是会话和Cookies会话和Cookies会话在服务端,也就是网站的服务器,用来保存用户的会话信息;Cookies在客户端,也可以理解为浏览器端,有了Cookies,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别Cookies并鉴定出是哪个用户,然后再判断用户是否是登录状态,然后返回对应的响应。我们可以理解为Cookies里面保存了登录的凭证,有了它,只需要在下次请求携带Cookies发送请求而不必重新输入用户名、密码等信息重新登录了。会话CookiesSet-Cookie高级部分--会话维持利用get()或post()每一次请求都是独立的,相当于每次发出请求类似打开一个新的浏览器访问,而不是浏览器中的选项卡中访问。如何实现下一次访问与上一次访问是相互关联的?两次请求时设置一样的cookies维持同一个会话相当于打开一个新的浏览器选项卡而不是新开一个浏览器如何创建会话维持?requests.session()利用Session,可以做到模拟同一个会话而不用担心Cookies的问题。它通常用于模拟登录成功之后再进行下一步的操作。项目实现—模拟登录爬取github网页输入账号信息可能出现邮箱验证进入个人主页获取当前账户的设置/login/sessions/verified-device/session/settings/profile使用代理服务器代理服务器作为一种既是服务器又是客户机的中间程序,主要用于转发客户系统的网络访问请求。作用例如:1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论