首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python网络爬虫:教你爬取网页信息之Request入门教学

如何使用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代码包括了异常处理,使得这个简单的爬虫代码更全面、更安全。欢迎各位小伙伴有什么问题,评论区交流哦~~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200601A0F3QO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券