如何使用python进行网络爬虫,这将是一段有趣的学习之旅。(以后会继续更新python网络爬虫的内容)
我们首先来介绍的是,python中request库的使用,这是python中实现网络爬虫的一个基本的库。
一、request库的安装
python中安装request库非常简单,你只需要打开Pycharm,新建python文件然后导入request库,然后根据默认提示进行安装就好了。
或者,你如果不想在Pycharm中进行安装。你也可以在控制台安装request库,只需要在cmd以管理员身份运行,然后输入pip install requests即可安装。
二、request库安装结果测试
在request库安装完成后,我们需要对其是否安装成功进行测试:这里我们在python的idle中去访问百度进行测试,导入request库,然后使用request提供的方法获取网页的状态码,如果返回为200即为成功访问。之后,我们可以查看网页上的内容。具体如图所示:
三、带你了解python中request库
带你了解python中request库的七个主要方法:
在我们使用python进行爬虫的过程中,最主要使用的只有两个方法,一个是request中的get方法,另一个是request中的head方法。因为,一般来说服务器会限制用户对网络上资源的增删改,具体原因主要涉及到网络安全,毕竟你也不希望你的网站被别人恶意上传文件,或者恶意修改、删除文件。
所以,在python中我们使用request库的时候,最重要的也是最主要使用的只有get和head方法。
下面来看看python的request库中这两个方法:
首先,request的get方法:
response中包括爬虫结果的内容。
对比来说,head方法与get方法的差别就是head方法只获取头部信息,而get方法获取页面所有的信息,其中包括头部信息。
我们使用python进行网络爬虫的目的在于获取网页上的信息,而这些信息结果返回都封装在response对象中,因此,使用python进行爬虫,首先我们必须要了解response对象。
如下图是python中request库的response对象的属性:
看了这张图,小伙伴们能不能这些基本属性的作用呢?我们来看个实际的例子来深刻理解下吧!
看图中这个例子,我们使用python实现了一个简单的爬虫演示。首先,我们要导入request库(这里没有展示,但是各位这么聪明肯定应该知道),然后我们获取其状态码(或许你只需要记得200代表成功就好了),然后我们再获取网页上的内容,这时候我们发现,返回的一大串中有乱码,根本看不懂。实际上,这是因为网页编码格式导致的,我们简单说:图中iso-8859-1这个格式,显示中文字符会是乱码(但是,这是默认的格式,忘记了写编码格式很烦恼),一般显示中文我们都使用utf-8这个编码格式。而这里你会有疑问,为什么encoding返回的是iso-8859-1这个格式?其实,encoding的返回内容是从头部的charset里读取出来的(在学习html的时候肯定都告诉你在html文件头部要写上一段很强大的代码:charset=“utf-8”),当没有定义charset的时候,默认就是iso-8859-1这个编码格式。而对于apparent——encoding是对网页上内容进行分析后确定的编码格式,往往这种获取的格式更可靠一些。看下面这张图应该能更好理解。
最后,给各位小伙伴一个python中使用request库实现爬虫的一个基本代码框架:
这段python代码包括了异常处理,使得这个简单的爬虫代码更全面、更安全。欢迎各位小伙伴有什么问题,评论区交流哦~~
领取专属 10元无门槛券
私享最新 技术干货