使用php+phantomjs构建一只简单爬虫的开发思路

唠叨:

最近频繁的给客户做采集功能,既然代码无法公布,所以一直想写个思路类的文章.
既然是简单的爬虫,那么一切自然以简单为原则,能少用的都少用,比如python和Redis这两个神兵利器就被我省略了.
打造这只虫子就像是樵夫砍柴一般,该磨刀还是要磨刀.

远观:

拜拜山头

对象站点:国内知名电商平台如蘑菇街,唯品会等.
实现需求:站群模式可将对方店铺或商品采集根据指定接口分发数据,并过滤指定关键字及自定义商品售价

磨刀:

利刃在手

1.安装=无头浏览器phantomjs,类似的无头浏览器或者在他们基础上衍生的东西有很多,但phantomjs基本上可以满足需求,用法也简单,所以本次就选用它了.
2.安装=多线程扩展pthreads,由于python和Redis对于一些phper而言增加了学习成本(话说现在会php的不懂他两的应该很少了吧),由于phantomjs从加载到渲染是比较慢的,为了提高效率,我们需要用到多线程.

上山:

山里事儿多

1.随机代理:因为采集是全自动化的,需要不断的访问被爬的站点,为了防止被屏蔽,从代理站抓一些IP来掩饰是不错的方法.
2.URL自动增补:有些网站页面的的url用的相对路径,所以补全是必备的.
3.深度控制:例如采集商品的时候很容易因为关联商品而陷入无止境的挖掘
4.任务分布:虽然没有用到Redis,本次的采集需要将任务下发给其余站点
5.内容过滤:现在比较头疼的是一些商城或店铺有水印,这个暂时无解.

砍柴:

由于本次采集在创建任务时已经预设了采集对象,例如按店采集,按商品采集.所以开头的第一步就省略了.

图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值