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