爬虫一

文章目录

文章目录


前言
爬虫自学路径
网络爬虫简介
什么时候用爬虫
网络爬虫是否合法
封装属于你的第一个爬虫模块
封装请求头
情况一:
情况二:
情况三:
随机请求头
获取网页数据
ID遍历爬虫(顺带下载限速)
网站地图
本篇小结
前言
还是想先哔哔几句,虽然大家可能已经迫不及待了。目录在上边,可以直接点击跳转哦。
之前一直是零零散散的更新爬虫相关的,毕竟在学校嘛,很多时间不能自主的。要上课,要考试什么什么的。

现在好了,寒假了,系统的整理一份爬虫系列文。
哎,背后隐藏的,是一个过气博主想要死灰复燃的心呐。
大家多多支持,赞评收藏都可以,多多益善☺☺

昨天呢,做了一份系列目录,本来是要用来带一位朋友的,结果发现我俩技术差不多,但是我觉得这个路径还是很不错的
就拿来当做我们这个系列的指导吧!!!

爬虫自学路径
初步判定是这样的啦

1、认识网络爬虫与网页分析,顺便聊聊天
2、Xpath
3、爬虫缓存
4、动态网页抓取(json)
5、表单交互
6、正则表达式
7、selenium
8、并发下载
9、图片、音频、视频下载
10、验证码处理
11、Scrapy
12、来一个实战
13、再来一个实战
14、单飞去吧

如果有要增加的,会在这里再说。

网络爬虫简介
至于什么是网络爬虫,那我就不用多解释了吧。

什么时候用爬虫
用于收集不太容易手动收集的数据时。

其实这句话挺内涵的,一千个读者有一千个哈姆雷特。

在我的认知里,这句话的意思就是收集某些数据的精力耗费要比使用爬虫大,这时候就可以不要考虑直接使用爬虫了。
我这样说没问题吧。

至于使用爬虫耗费的精力,需要长时间的经验积累,建立在对自己的足够认知上。
精力耗费,从开始考虑使用爬虫开始,到拿出爬虫程序,再到它获取了正确的数据,最后清洗呈现出来为止。

这里面最耗费时间精力的就是编写代码和测试了吧。
这时候就需要有现成的框架了,后面我们会讲到scrapy框架,是一个很不错且成熟的爬虫框架。

其实我是想说,在我们学习的过程中,要有目的的吧我们写过的爬虫程序抽象出不变的部分,封装成我们自己的包。
C++学久了就这个 “臭毛病” ,就喜欢自己封装 “动态链接库” 。

网络爬虫是否合法
这个部分在之前的“偷偷学Python”系列里面有提过,那我就再稍微的讲一讲吧。

在深入讨论爬取一个网站之前,我们首先需要对目标站点的规模和结构进行一定程度的了解。网站自身的 robots.txt 和 Sitemap 文件都可以为我们提供一定的帮助(我就问一声儿真的会有人去看吗?反正我是没看过,给爬的默认能爬了,不给爬的就默认是不给爬了。。。)

封装属于你的第一个爬虫模块
要想抓取网页,我们首先需要将其下载下来。
至于解析,清洗,存储什么的,今天咱先不谈。

咱先确定这个网页能够下载下来是吧。

就不弯弯绕了,我直接呈现最终步骤。我把这个过程模拟为两个人建交、授受的一个过程吧。

封装请求头
什么是封装请求头呢?今天我过来和你交朋友了,

情况一:
我说:“嘿,兄弟,交个朋友?”
你说:“你是谁呢?”
我说:“你猜呀?”

这时候,你什么反应?

之后,我跟你说:“嘿,大兄弟,咱俩既然是朋友了,你可以帮我个小忙吗?五分钟,我要你的全部信息。”

但凡你戒备心有的话,就不会给我了。

这是比较好的啦。

情况二:
经过几句话的寒暄,你发现我是个推销的,拿着你的信息准备给你推销点你根本用不上的东西,比方说给头发本就浓密的你推销快速生发剂,这不是开玩笑嘛!!!
你会理我吗?都这么赤裸裸的推销了。

那应该怎么办才能把这个生发剂塞到你手里呢?

情况三:
我路过在大厅里等面试通知的你,走过去,调个头看你一眼,再看你一眼,递给你一张名片:“小伙子,我是隔壁项目组的组长,你是来面试的?”

你说是啊

我说:“哦,他们这个组工作压力都挺大的,看你这一头浓密的头发,怕是还没经历过洗礼。可惜了。”

接着,我又说:“这样吧,你要是面试过了,到时候扛不住压力可以来找我,这是我的名片”

然后再把那啥给你。你愉快的收了。

那什么是请求头呢?就是那张名片了。

一张告诉即将被爬的网站:“我是普通浏览器”的名片。

随机请求头
咱也不用自己去准备啥请求头了,大量请求的时候一直用同一个头也不好,到时候给你封了。
在这里插入图片描述

获取网页数据
目前 Python 编写的主流爬虫一般都会使用 requests 库来管理复杂的 HTTP 请求。

在这里插入图片描述

ID遍历爬虫部分我就不说了,简单的数学逻辑罢了啊。

ID遍历爬虫(顺带下载限速)
如果我们爬取网站的速度过快,就会面临被封禁或是造成服务器过载的风险。为了降低这些风险,我们可以在两次下载之间添加一组延时,从而对爬虫限速。

算了,ID遍历爬虫我还是得写。

在这里插入图片描述

网站地图
说到这个网站地图啊,还是先看看是什么吧。

站点地图是一个网站所有链接的容器。很多网站的连接层次比较深,爬虫很难抓取到,站点地图可以方便爬虫抓取网站页面,通过抓取网站页面,清晰了解网站的架构,网站地图一般存放在根目录下并命名sitemap,为爬虫指路,增加网站重要内容页面的收录。站点地图就是根据网站的结构、框架、内容,生成的导航网页文件。站点地图对于提高用户体验有好处,它们为网站访问者指明方向,并帮助迷失的访问者找到他们想看的页面。

怎么看网站地图呢?

在网站的根目录下,打开那个robots.txt文件,就能找到网站地图的网址了。
看一下CSDN的爬虫协议啊:https://www.csdn.net/robots.txt

最下面有这么一行:Sitemap: http://www.csdn.net/article/sitemap.txt
自己进去看哈。

之后要怎么爬呢,如果你全都要的话。参考上面那块儿。
如果要对所有的网址做一个筛选嘛,不会真有人要全爬吧?
那建议使用正则表达式。
————————————————
版权声明:本文为CSDN博主「看,未来」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43762191/article/details/112802153

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值