Python网络爬虫与信息抽取笔记02 requests库入门

【导读】自从上次春节充电系列:李宏毅机器学习笔记以来我们又见面了,因为在机器学习中数据集是很关键的东西,好的数据集可以给实验带来很好的结果,然而有时候数据集需要我们自己构造,这时候就需要爬虫来帮你建造数据集了。Python网络爬虫与信息提取笔记系列主要针对用Python在网上进行信息爬取,需要初步的Python基础,当然如果你不会python也没关系,可以在实战中学习。今天主要是课程准备工作的介绍,涉及课程框架、Python IDE工具和科学计算工具三部分内容。话不多说,让我们一起学习这些内容吧。


春节充电系列:李宏毅2017机器学习课程学习全部笔记


Python网络爬虫与信息抽取笔记01 课程框架和Python IDE工具


视频网址:

https://www.bilibili.com/video/av9784617?from=search&seid=240663710546169136


http://www.icourse163.org/course/BIT-1001870001?tid=1001962001


Python网络爬虫与信息抽取笔记02 requests库入门

 

1.课程框架




我们在上一节的内容中已经为大家介绍了python网络爬虫与信息抽取的简介,这一节将主要针对requests库入门进行讨论。本文内容涉及requests库的若干主要问题:了解并安装requests,requests的7个主要方法,Response对象的属性,requests库的异常以及爬取网页的通用代码框架。话不多说,让我们一起学习这些内容吧。


这周我们主要讲述一下三个内容

具体来说就是Requests库入门,网络爬虫的盗亦有道以及Requests库爬虫实例


1.了解并安装requests




我们可以先打开requests官网稍微了解一下requests库的内容

通过pip install requests的指令我们可以轻松安装requests库

我们先进行第一个实例,爬取百度网站的内容

得到的结果如下


2.requests的7个主要方法




如果你不懂这些指令什么意思没关系,下面就来一一讲解。

Requests库主要有7个方法

比如requests.get(url),url里面填的是你想访问的网址,返回的是服务器响应的信息

Requests.get的源代码如图所示

得到服务器的响应后我们可以对其进行分析


3.Response对象的属性



 

我们有5个指令可以分析服务器的响应,每个指令作用下图已经给出,需要补充的是,图片上的资源是以二进制存储的,这时候r.content就发挥作用了

根据r.status_code我们可以判断有没有得到服务器的正确响应,比如前段时间Acfun被封,如果当时你用requests.get()指令去得到Acfun的响应,并且输入r.status_code你就会得到404

输入r.text后,你会得到一大串字符串,如果你暂且看不懂没有关系,这其实是html代码,以后也会一一讲解

输入r.encoding和r.apparent_encoding你会发现返回的值不一样

其实两者是有差别的

总的来说,输入r.apparent_encoding是最稳妥的


4.requests库的异常




当然我们还需要处理服务器响应的异常

补充一点,Request.timeout指的获得url到获得内容的整个过程的超时异常,Connecttimeout仅指和服务器连接超时异常。

实际操作中,我们最常用的是r.raise_for_statue()


5.爬取网页的通用代码框架



 

根据这个,我们可以写出爬取网页的通用代码框架 

这样可以使得用户爬取网页更稳定更可靠


参考链接:

http://www.icourse163.org/course/BIT-1001870001?tid=1001962001

-END-

专 · 知

人工智能领域主题知识资料查看获取专知订阅】人工智能知识资料全集与专知AI知识技术服务群

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!

请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~

投稿&广告&商务合作:fangquanyi@gmail.com


点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员