#3
iStar/明星数据爬虫 2017-03
研究 Python 爬虫的时候, 学习了一个从淘宝 mm 上爬取数据的项目, 研究了下Python和MySQL 和 Redis 结合的例子.
后来想这为什么不使用 Ruby 进行数据的爬取呢? 数据存储, 多线程下载, 后台任务等一系列的都有现成的接口, 于是从”研究明星数据”开始着手.
需求及实现实现过程:
- 先确定了爬取信息网站 Yoka QQ Ent
- 使用 Nokogiri 自己解析明星数据信息, 把数据存储到数据库中
- 通过爬取和数据交叉更新, 总共约爬取了17488 条数据(国内外名人)
- 在寻找数据源的时候发现百度百科也是个很大的数据源,通过百度上的资料更新我爬取的明星数据, 于是开始爬取百度百科的页面把以前的数据全部进行更新了下.
- 在解析百科页面的时候发现每个页面都有个明星推荐的异步的接口, 通过一个人能推荐出20多人的数据, 通过这个网状的数据接口又在数据库中添加了几千条记录.
- 明星的名字和基本信息有了,想到以前写的一个根据明星名字调用百度图片接口获取 下载图片的接口, 添加了一张图片表把以前的接口调整了下, 支持存储明星的照片链接或者下载文件. 下载文件的过程中使用 sidekiq 进行异步下载, 晚上执行了个 Work ,下载了 2w 个人*50张的照片,总共下载了20G 的数据量.
- 在网上找爬取信息站点的时候想有没有其他的体育明星数据什么的,于是在网上找打 GJ Sport 公开信息查询接口, 里面有300W 的姓名, 性别, 运动项目等信息,在原来的明星数据基础上添加了爬取运动员信息的功能.
- 在爬取了半天的数据后突然发现 Nokogiri 直接打开页面的方法不能用了(估计是被网站管理员发现了),想了个解决办法, 先模拟请求再进行数据解析, 后面陆陆续续爬了3天, 除去重名等情况 数据库中总数据量已达到 310712 条
其他:
- 可以通过一个人请求获取20个人的信息的接口,一直请求下去组成网状的结构的代码还未理清楚如何实现, 用个小聪明,使用 sidekiq 异步队列进行每个接口的数据获取. 后续继续研究 这个网状类似爬虫结构的实现.
- 现在有了这么大的数据量的人名等信息, 可以研究做数据分析, 比如姓氏, 起名等等
#3
iStar/明星数据爬虫 2017-03
研究 Python 爬虫的时候, 学习了一个从淘宝 mm 上爬取数据的项目, 研究了下Python和MySQL 和 Redis 结合的例子.
后来想这为什么不使用 Ruby 进行数据的爬取呢? 数据存储, 多线程下载, 后台任务等一系列的都有现成的接口, 于是从”研究明星数据”开始着手.
需求及实现实现过程:
其他: