一.什么是爬虫
网络爬虫(Crawler)又称网络蜘蛛,或者网络机器人(Robots)。它是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫通过程序模拟用户访问网页的过程,解析网页源代码或通过抓包获取网页上所含的文字,图片,视频等资源,并将其保存下来。
二.为什么使用爬虫
爬虫可以高效的批量的获取网页上的信息,创建或维护网页的人一般为了方便与统一,例如网页小说的第一页和第二页,网页源代码中紧紧改变了某几个属性的值,如content,整体源代码的框架并没有改变,因此,我们只要通过分析某一页网页的源代码,并学会如何从其获取信息,那么我们也就等于学会了如何从这一种网页中获取信息,即可通过程序批量获得此种网页上我们所需要的信息。而不用再和之前一样自己去一页一页下载,是真正意义上的一劳永逸。
三.为什么用python
学过python的人都知道,python语法简单,且有非常丰富的第三方库,世界各地的大佬们帮我们把各种函数,类写好封装在库中,我们所需要做的仅仅是学会如何去使用他们。
小规模,数量小,爬去速度不敏感,requests库 | 中规模,数据规模较大,爬取速度敏感scrapy库 | 大规模,搜索引擎,爬取速度关键定制开发 |
---|---|---|
爬取网页 玩转网页 | 爬取网站 爬取系列网站 | 爬取全网 |
四.一些其他关于爬虫的
(一)Robots协议
网站在反爬方面一般有两种措施,第一种是通过反爬技术手段,例如登录输入验证码,机器人验证等方式,判断你是程序还是真人访问网页以进行反爬,第二种就是通过Robots协议。
Robots协议(也称为爬虫协议、机器人协议等),全称是“网络爬虫排除标准”,一般我们再网站主页面网址后加上/robots.txt即可查看网站的Robots协议(如果没有则说明网站允许对数据进行爬取),Robots协议规定了网站那些内容允许和不允许爬取,允许和不允许某些爬虫爬取等信息,例如淘宝网的Robots协议:
User-agent: Baiduspider Disallow: / User-agent: baiduspider Disallow: /
说明淘宝网不希望百度的爬虫爬取其信息。
Robots协议是建议但非约束性,简单地来说就是一份君子协议(防君子不防小人),但如果你违反Robots协议,可能会面临一定的法律风险。以下是对是否遵守Robots协议的建议:
访问量小:可以遵守 访问量较大:建议遵守 | 非商业且偶尔:建议遵守 商业利益:必须遵守 | 必须遵守 |
---|---|---|
爬取网页 玩转网页 | 爬取网站 爬取系列网站 | 爬取全网 |
(二)学习爬虫的资源
1.【2022 年】崔庆才 Python3 网络爬虫学习教程 | 静觅 崔庆才大佬的博客,写的很详细,另外大佬写的书也很不错;
2.Python爬虫教程(从入门到精通) 网站名虽然叫C语言编程网,但里面也有其他语言的教程,很不错的一个网站;
3.镀金的天空-GlidedSky 新手可以练习爬虫的地方,需要注册登陆,进去后可以向闯关一样完成挑战;
4.哔哩哔哩,知乎,CSDN等等较为常见的网站,现在网上关于爬虫的教程越来越多,注意甄别好坏,选择适合自己的。
在接下来的文章中我们正式开始python爬虫的学习。