网络爬虫

网络爬虫基本原理 | 知乎

前辈建议 | 知乎

2016-02-16
深圳龙岗区
天气:多云 21度

python写爬虫

  1. 内置库实现:requests
  2. Scrapy:异步,分布式爬虫,基于这个框架来写自己的爬虫,简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。
  3. html5lib:处理 js 运行后的结果
  4. 用 beautifulsoup4 的接口,让它内部用 html5lib
  5. Beautiful Soup。名气大,整合了一些常用爬虫需求。缺点:不能加载JS,可解析html,用一些科学库做一些简单的统计和报表,比如 numpy、scipy、matplotlib等。
  6. mechanize。优点:可以加载JS。缺点:文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。
  7. selenium。这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
  8. cola。一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。
  9. pyspider
  10. sola

处理对象

  1. 静态页面
  2. ajax
  3. js

问题

细节是相当可怕的存在,比如,数据的提取,用正则还是xpath,为什么不是所有的页面都有下一页,一晚上爬了5000条数据,我一共有20万条怎么办,爬虫又被封了。

指导

  1. 先看scrapy方面的内容,然后结合redis,实现分布式,参考chineking/cola
    GitHub
    。存储用mongodb,可以实现集群式存储。
  2. 爬虫框架|为自己写代码
  3. 用一些异步事件驱动库,如gevent,比单纯多线程要好很多。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值