生产者消费者模型下的爬虫|Web Crawler with Producer-consumer Pattern

提升爬虫效率 提升爬虫的抓取效率无非优化爬虫与服务器的链接速度和效率。最为简单的方式就是“加钱”,使用更大带宽的网络,和更高的并发。 所以很多情况下就可以使用多线程或者分布式的爬虫方案。然而在使用这些模式的爬虫情况下可能会出现另一些影响爬虫效率的因素:入库。 爬虫数据入库 单机情况下爬到的东西一般直接存到本地就行了,直接扔到一个文件内或者数据库内就行。 然而分布式情况下如果爬虫生产的数据存入统一的数据库,每次的存取就会进行一次事务,如果出现失败等情况还需要在爬虫中对这些错误进行处理,不然爬虫就会直接死掉。 爬虫与数据库之间的链接状况也会影响当前的爬虫进程,爬虫无法在数据库入库之前进行下一次抓取。 肯定有人会说:“先全部存到本地就好了啊,爬完再统一存进去。”确实这是一个减轻代码量的“好”方法。但是如果是一个长期项目,整理数据就不是那么的轻松了。 因此选择一个更生产者消费者模式能够更好的提高爬虫的效率。 ...

七月 6, 2019 · 猫贩子薛定谔

在Windows上向Linux服务器部署Hexo

Hexo官方在文档中提到的部署文件方法只有同步到Gitpage、Heroku、OpenShift或者通过rsync、ftp同步到自己的服务器。 然而Windows下并没有rsync,之前为了用rsync同步文件只好使用Bash on Windows来用rsync。 如果只是为了用rsync就装了BOW实在是太浪费了,所以需要另一种方式来同步Hexo。 Hexo提供Git提交方式的插件。原本这个插件是用来同步到Git page的,但是我们也可以用Git方式push public文件夹内容到git仓库然后设置webhook向自己的服务器发送事件,服务器再pull下来就行了(虽然跟那插件没啥关系)。 环境准备工作 所以我们先来做准备: 创建私有仓库 添加服务器的ssh pub key到github或者gitlab中就可以使用ssh方式pull文件而不需用输入用户密码 准备python监听hook脚本 ...

八月 22, 2018 · 猫贩子薛定谔

json解析[python图片爬虫-Ⅲ]

之前的爬虫采取的方案都是直接进入网页再用正则获取实际的图片地址,这样的做法看上去很好,但是在获取网页的时候需要下载整个网页,所以每次越有80%的内容是重复的,而且剩下的20%中我们需要的又只是5%。同时过高的访问频率还可能导致目标站点将自己拉近黑名单。所以我们需要一种能够直接提供我们需要信息的方法。 这时候API就显得十分重要,API能够直接根据参数提供我们想要的实体,而不是写入整张网页中,能有效的节约编写解析代码的时间,也能减轻服务器的压力。 ...

三月 25, 2017 · 猫贩子薛定谔

爬虫升级[python图片爬虫-Ⅱ]

接上次虽然完成了konachan的爬虫,但是一股脑的将图片下载下来后期整理起来可是件烦心事,所以要对上次的python爬虫进行升级定制 开工 konachan上的图片大小不一,如果是要拿来当素材壁纸之类可能会对图片的大小有要求 ...

十二月 7, 2016 · 猫贩子薛定谔

收集动漫壁纸[python图片爬虫]

不知道怎么就买了个pi3,自带wifi和蓝牙,这样就不用插一根usb 网卡还得考虑驱动的问题。 而且这么多的VPS开着流量也用不完,而且最近还在学校里弄到个工作室,这样就可以做一个爬虫挂在工作室里24小时不用断电。 raspbian自带python 2.7.X和3.4.X 默认python是运行2.X版本所以运行3得用python3 我的爬虫范例 ...

十二月 4, 2016 · 猫贩子薛定谔