爬虫的“正确”使用方式

一个完整的爬虫项目,绝不是几个爬虫文件那么简单

为什么标题要强调【正确】二次呢,是因为大部分初学者往往只是把网页的内容,转成所谓的【控制台输出】

然后就没了。。。那我还不如直接在网页上看更美观

所以首先应该明确,到底是为了什么而使用,不要为了用而用,那样【没有】实际的意义

既然抛出了这个问题,那我也应该解答一下,一个完善的爬虫项目,应该具备:

⭐数据收集模块(许多新人只做到了这点)
⭐数据清洗模块(归纳整理收集的数据)
⭐数据持久化模块(将清洗完的数据存储至数据库)
⭐数据管理模块(web或者app管理后台)

一个完善的爬虫系统相当于一个【迷你】搜索引擎,只不过这个系统【不负责】提供样式,只是纯粹的数据收集和处理工具

要一个人全部完成这些工作确实需要花费较大时间,所以这些项目一般都是一整个团队来维护

[礼物]幸运的是,最近我正好有做一个的打算,所以我可能在开发的期间将部分内容抽离出来,形成几篇教程

本文可以视为一个教程预告,不出意外的话,我会逐渐把上述的流程实现,各位可以小小期待一下

[彩虹]当然,本文如果就这么结束那也未免太吊胃口了

所以,我打算把爬虫的【基本使用】在本篇写完,一般爬虫都用python,但实际上只要能发http请求的,都能做爬虫,只不过py语法简单,上手容易,关键是库还多,成为了不二之选

[灯泡]接下来会对爬取【本地】和【网络】文件进行简单讲解,需要具备一定基础知识

[灯泡]如果连py都还不会的话,下面的文章也许就比较难懂了,如果有其他编程基础,问题也不大,完全零基础的话,要先掌握py再回来看哦

[灯泡]做爬虫还需要对web前端有基础认知,不会的话也许后续理解会相对吃力点,因为现在很多项目都是前后端分离,不会直接返回html

需要用到的框架有:
⭐BeautifulSoup(必要)
⭐lxml(如果有学过其他替代框架,也可自行更改)
⭐requests(必要)

开发环境是windows可以直接用
【pip install 框架名】
来安装上述内容

linux的话,要先apt或者rpm一下pip包,然后就和上面一样了,因为linux默认不装pip

[灯泡]但是linux开发手感不大友好,建议只作为部署环境

项目部署不是本教材的知识点,可自行百度

⭐先来看如何爬取本地页面,参考【图二,三】

好,现在应该已经有了大致思路了吧,首先我肯定是要导入库文件,然后我们声明一个列表来保存数据,接下来,读取文件并解析内容,这个过程我们交给lxml库,这个库不需要手动引入,只需要保证本地安装了,BeautifulSoup会自己处理

然后我们通过css选择器获取到soup对象,注意这个对象是包括html标签的,我们一般只需要内容,可以通过soup对象的get_text方法得到,所以需要二次处理,通过循环zip,组装一个我们真正需要的字典,然后存入文章列表

接下来就是遍历文章列表,根据评分输出了,为了美观,顺手写了段代码,把评分换算五角星,这个可有可无,正式项目一般也【不会】这里去处理

⭐然后我们再来看真正网页的爬取

【需知】并非所有爬虫都合法,实际上爬虫还是处于灰色地带的,立法暂时不明确

但可以肯定的是【get请求】一般是没问题的,因为即便使用浏览器也能正常访问,相当于公之于众的内容

同时【不要】过分频繁(一般2s请求一次差不多),否则容易被当做网络攻击拉黑ip

还有一点,大部分知名网站都有robots协议,即在域名/robots.txt里有对各爬虫机器人的规定,可以参考

接下来是网络请求,其实差不多,只不过读取文件从open读取本地资源变成request的get请求网络资源

参考【图四,五,六】

目前还处于创作摸索期,不确定整体热门的方向,目前最高的应该是讲去水印算法的那篇

本文就先到此结束吧

图片[1]-爬虫的“正确”使用方式-危笑云资源网
图片[2]-爬虫的“正确”使用方式-危笑云资源网
图片[3]-爬虫的“正确”使用方式-危笑云资源网
图片[4]-爬虫的“正确”使用方式-危笑云资源网
© 版权声明
THE END
危笑云资源网,喜欢就支持一下!
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情图片

    暂无评论内容