浅谈Python两大爬虫库——urllib库和requests库区别.docxVIP

浅谈Python两大爬虫库——urllib库和requests库区别.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈Python两大爬虫库——urllib库和requests库区分 在使用Python爬虫时,需要模仿发起网络恳求,次要用到的库有requests库和python内置的urllib库,一般建议使用requests,它是对urllib的再次封装。 那它们两者有什么区分 ? 下面通过案例具体的讲解 ,了解他们使用的次要区分。 二、urllib库 简介: urllib库的response对象是先创建http,request对象,装载到reques.urlopen里完成http恳求。 前往的是http,response对象,实际上是html属性。使用.read().decode()解码后转化成了str字符串类型,decode解码后中文字符能够显示出来。 例 from urllib import request #恳求头 headers = { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 } wd = {wd: 中国} url = /s? req = request.Request(url, headers=headers) response = request.urlopen(req) print(type(response)) print(response) res = response.read().decode() print(type(res)) print(res) 运转结果: 留意: 通常爬取网页,在构造http恳求的时候,都需要加上一些额外信息,什么Useragent,cookie等之类的信息,或者添加代理服务器。往往这些都是一些必要的反爬机制。 三、requests库 简介: requests库调用是requests.get方法传入url和参数,前往的对象是Response对象,打印出来是显示响应形态码。 通过.text 方法可以前往是unicode 型的数据,一般是在网页的header中定义的编码方式,而content前往的是bytes,二级制型的数据,还有 .json方法也可以前往json字符串。 假如想要提取文本就用text,但是假如你想要提取图片、文件等二进制文件,就要用content,当然decode之后,中文字符也会正常显示。 requests的优势: Python爬虫时,更建议用requests库。由于requests比urllib更为便捷,requests可以直接构造get,post恳求并发起,而urllib.request只能先构造get,post恳求,再发起。 例: import requests headers = { User-Agent: Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36 } wd = {wd: 中国} url = /s? response = requests.get(url, params=wd, headers=headers) data = response.text data2 = response.content print(response) print(type(response)) print(data) print(type(data)) print(data2) print(type(data2)) print(data2.decode()) print(type(data2.decode())) 运转结果 (可以直接猎取整网页的信息,打印把握台): 四、总结 本文基于Python基础,次要引见了urllib库和requests库的区分。 在使用urllib内的request模块时,前往体猎取有效信息和恳求体的拼接需要decode和encode后再进行装载。进行http恳求时需先构造get或者post恳求再进行调用,header等头文件也需先进行构造。 requests是对urllib的进一步封装,因而在使用上显得愈加的便捷,建议在实际应用当中尽量使用requests。 期望能给一些对爬虫感爱好,有一个具体的概念。方法只是一种工具,试着去爬一爬会更简约上手,网络也会有很多的坑,做爬虫更需要大量的阅历来应付简单的网络情

文档评论(0)

duanbingbing + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档