web data scraping的各种解决方案

对于互联网人来说,web data scraping (web数据采集)已经成为一个迫切而又实在的需求。在如今这个开源的时代,问题往往不在于是否有解决方案,而是如何选择适合你的解决方案,因为总是有很多潜在的方案供你选择。web data scraping当然也不例外,笔者认为,我们至少有四种类型的方案可以选择,

1. web scraping software

专用的数据采集软件不需要你编写任何代码,你只需要配置一些信息,例如采集的目标网址、兴趣字段等等。然而,学习如何使用这些软件却是一项非常费力的事情,大部分都需要有一定的技术背景,常常需要了解的技术有:xpath, html, regular expression。笔者列举几款这方面的软件如下, 

更多这方面的软件信息,可以参考这份文档:        collections of web scraping software and server

 

2. web scraping framework

scraping framework可能是developer的最佳选择,因为其功能强大且效率高,而且有适用于不同平台的framework可供选择,例如:

  • scrapy, python平台

  • upton, ruby平台

  • pismo, ruby平台

  • nokogiri

    , ruby平台

  • node.io, node.js平台

  • crawler, node.js平台

笔者认为,python在数据处理方面具有强大的优势,更重要的是,python也非常适合实际产品的开发,笔者执着而坚定地推荐scrapy作为web scraping的首选.

 

3. web scraping service

如果你只是想获得数据,而又不愿意劳心费神的去学习具体的scraping技术,那么一家可靠的web scraping service服务商可能是你最好的选择,比较知名的web scraping service有如下几个:

 

4. 其他的选择

Selenium 原本是浏览器自动化测试工具,但是也可以用于web scraping。 如果你采集的网页内容是由javascript自动生成的,那么你可能需要Selenium, 因为其他的scraping方案中的html parser往往都不支持javascript,例如scrapy。另外,有很多网站禁止scraping, 这个时候你也需要Selenium, 因为Selenium完全是模拟人的浏览行为,Selenium本质上是工作于浏览器之上的。

当然,我们也可以选择很多基于javascript的scraping方案,例如PhantomJS 就是一种非常好的选择,PhantomJS本质上也是模拟了浏览器。

转载于:https://my.oschina.net/u/1996894/blog/299569

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值