做爬虫的可以看一下

绪论

    无论你是从事网络爬虫工作的还是0基础的小白,如果这篇文章对你有一些作用,那笔者的目的就达到了。写这篇文章只是笔者想将自己从0开始的经验心得。学习是一件不断重复并且回顾的过程,这里的回顾就显得很重要,因为如果你一味的去学习新东西,而不去停下来消化,到最后消化不良是肯定的。废话不多说,这篇文章主要是针对爬虫爬取策略的一些总结。

正文

一、网络爬虫的介绍

    所谓爬虫,就是将目标网络资源通过自动化的方式获取并得到操作权,目前主要分为通用爬虫和聚焦爬虫,通用爬虫主要是搜索引擎抓取系统,目的是将互联网上的网页内容下载到本地形成一个互联网内容的镜像备份,而聚焦爬虫就是我们写的网络爬虫程序,与通用爬虫不同的是聚焦爬虫可以对网络数据进行选择性筛。至于使用什么语言工具,那看你自己的爱好,但你选择的语言工具最好自带网络通信功能,否者你需要自己去封装很多这方面的功能模块,那就本末倒置了。笔者接下来主要是使用Python来进行案例介绍,也推荐大家使用Python进行网络爬取的主要语言工具,因为它使用起来效率特别高,有丰富的功能库,你只需吧重心放在你的主业务上就行。

二、网络爬虫所涉及到的技术栈

    网络编程,JavaScript,接口自动化测试,Python(编写主逻辑,也可以使用其它语言代替),数据库,shell脚本的编写,服务器相关知识。

三、基础:案例一【豆瓣影评】

    案例一会想一些书中介绍的案例一样,本来不想写的,但是为了照顾0基础的。还是简要的介绍一个案例吧。

四、中级:案例二【**么】

    4.1 需求

        抓取商店详情信息以及商品的参数,比如:商店名,商店所属区域,商店经纬度,商品名称,商品销量,商品单价以及评分等主要参数。

    4.2 实施

        4.2.1 页面分析

            需求明确后直奔主题,直接打开目标网站,对其进行针对性分析。先熟悉它的操作流程,打开起始界面:[PC端]

            主要流程是,进入起始页面,必须要输入商业圈关键词然后进入商店列表页面,这里的商店是根据商业圈关键词的地理位 置进行匹配性展示,具体的排序规则就比较复杂了,目前就视为商业圈关键词附近的商家。从当前页面看来,商店符合需求数据的只有商店名,然后先择一个商店点击进入查看,这个页面主要是呈现商品主要信息,额外符合需求数据的有,商店的综合评分、商品名、单价以及商品评分。这些信息明显满足不了需求。所以接下来需要配合页面对控制台中的信息进行分析。好了,F12打开浏览器控制台,然后点击首页返回商店列表页面,首先点击XHR(接口请求数据项),然后F5,右边的数据栏选择Preview项用于查看返回数据。这时候没有什么好办法,只能一个个点击浏览,有一点小经验就是可以查看Name栏中的链接字符串索引,看看对应包含在其中的英文单词含义然后去选择性查看。

            然后点击到*restuarants*项的时候,会发现右边出现包含地址的数据集。然后查看当前数据集,会发现包含了很多需求数据,还有商店ID,这真是需要的接口。如果所有的数据都能在接口链接中获取到,那就不用去一连串的操作提取页面数据了。好了,目前已经确定目标url(数据接口),同理点击进入商店详情页面,会找到跟商品信息相关的接口url。

            好了,目前数据源已经确定。开始进入试水阶段,

        4.2.2 制定反反爬策略

        4.2.3 完善代码

    4.3 小结

五、高级:案例三【*团外卖】

    5.1 需求

        跟**么一样,抓取商店详情信息以及商品的参数,比如:商店名,商店所属区域,商店经纬度,商品名称,商品销量,商品单价以及评分等主要参数。

    5.2 实施

        5.2.1 页面分析

        5.2.2 制定反反爬策略

        5.2.3 完善代码

    5.3 小结

六、最后想对读者说的话

    以上只是笔者通过网络爬虫的一些学习思想想告诉大家,学习东西一定要找到适合自己的方法而达到效率最大化。不一定要一直跟着新东西后面跑在你的基础没有打牢固的前提下。因为新事物绝对是建立在旧事物的基础之上的。不排除有些新事物会体现其独特创新的新思维以及新方法,就算如此它也绝对是建立在旧事物之上的,可能它的创新,吸取了其它渠道其它行业的思想。所以如果条件可以我们应尽可能地开阔自己的视野,比如说如果你是程序员买书不一定只买技术方面的书,也可以看一些经济学文学以及管理学方面的书,这样能提高一个人的综合素质。

    笔者天生愚笨,开化比较晚,但一直在努力着,最后祝大家都能追求到自己心中的生活!


备注: 增量式爬虫, 分布式爬虫,有没有必要使用别人已经封装好了的爬虫框架(例如Scrapy,还有人性化框架Pyspider)

           Numpy生成CSV数据或者直接保存成CSV数据或者使用openpyxl模块保存成excel。

            

因为时间比较忙,未完待续 ... ...


猜你喜欢

转载自blog.csdn.net/wys578/article/details/80522288