图解爬虫,用几个最简单的例子带你入门Python爬虫

   日期:2024-12-28    作者:fenixmall 移动:http://3jjewl.riyuangf.com/mobile/quote/77914.html

爬虫一直是Python的一大应用场景,差不多每门语言都可以写爬虫,但是程序员们却独爱Python。之所以偏爱Python就是因为她简洁的语法,我们使用Python可以很简单的写出一个爬虫程序。本篇博客将以Python语言,用几个非常简单的例子带大家入门Python爬虫。

点此免费领取CSDN大礼包:《python学习路线&全套学习资料》免费分享

如果把我们的因特网比作一张复杂的蜘蛛网的话,那我们的爬虫就是一个蜘,我们可以让这个蜘蛛在网上任意爬行,在网中寻找对我们有价值的“猎物”。

  1. 向服务器发送网络请求
  2. 浏览器接收并处理你的请求
  3. 浏览器返回你需要的数据
  4. 浏览器解析数据,并以网页的形式展现出来

我们可以将上面的过程类比我们的日常购物

  1. 和老板说我要杯珍珠奶茶
  2. 老板在店里看看有没有你要的东西
  3. 老板拿出做奶茶的材料
  4. 老板将材料做成奶茶并给你

简单的爬虫就是单纯的网络请求,也可以对请求的数据进行一些简单的处理。Python提供了原生的网络请求模块urllib,还有封装版的requests模块。相比直线requests要更加方便好用,所以本文使用requests进行网络请求。

 

下面我们看看爬取的网站打开是什么样子的

这就是我们熟悉的百度页面,上面看起来还是比较完整的。我们再以其它网站为例,可以就是不同的效果了,我们以CSDN为例

首先我们需要明确一点,在爬取一些简单的网页时,我们爬取图片或者视频就是匹配出网页中包含的url信息,也就是我们说的网址。然后我们通过这个具体的url进行图片的下载,这样就完成了图片的爬取。我们有如下url:img-blog.csdnimg.cn/20200516143…,我们将这个图片url来演示下载图片的代码

 

可以看到,代码和上面网页爬取是一样的,只是打开的文件后缀为jpg。实际上图片、视频、音频这种文件用二进制写入的方式比较恰当,而对应html代码这种文本信息,我们通常直接获取它的文本,获取方式为,在我们获取文本后就可以匹配其中的图片url了。我们以下列topit.pro为例

 

上面我们就完成了一个网站的爬取。在匹配时我们用到了正则表达式,因为正则的内容比较多,在这里就不展开了,有兴趣的读者可以自己去了解一下,这里只说一个简单的。Python使用正则是通过re模块实现的,可以调用匹配文本中所有符合要求的字符串。该函数传入两个参数,第一个为正则表达式,第二个为要匹配的字符串,对正则不了解的话只需要知道我们使用该正则可以将图片中的src内容拿出来。

BeautifulSoup是一个用来分析XML文件和HTML文件的模块,我们前面使用正则表达式进行模式匹配,但自己写正则表达式是一个比较繁琐的过程,而且容易出错。如果我们把解析工作交给BeautifulSoup会大大减少我们的工作量,在使用之前我们先安装。

我们直接使用pip安装

 

模块的导入如下

 

下面我们就来看看BeautifulSoup的使用,我们用下面HTML文件测试

 

上面是一个非常简答的html页面,body内包含了8个img标签,现在我们需要获取它们的src,代码如下

 

解析结果如下

 

正好就是我们需要的内容。

 

输出结果如下

 

我们只爬取一个就好了,我们进入第一个网址查看源码,发现了这么一句

 

其中srcUrl就包含了视频文件的网站,但是我们肯定不能自己一个网页一个网页自己找,我们可以使用正则表达式

 

结果如下

 

然后我们就可以下载这个视频了

 

完整代码如下


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号