让爬虫轻松一点~(一)
在信息大爆炸的互联网,数据多的烦不胜数,想要人为的统计某类信息,恐怕越来越难了,这时候就需要爬虫的帮助了,一如 360 爬取百度的百科、知道,一淘爬取各大电商的产品、用户评论,百姓网从赶集网页面上收集其用户公开的 QQ 邮箱并发送推广邮件。。。
随着爬虫的发展,已经严重危害了目标网站的服务质量及数据安全,于是他们开始各种围追堵截。道高一尺魔高一丈,我们的爬虫终究能够突破层层壁垒,拿到想要的数据。
今天,我们就做一件事,让爬虫更智能。一般的服务器都会判断访问来源的?User-Agent
,适时的更好一下你的?User-Agent
,无非是个明智之举。 Gem?useragents
,已经为您封装了此项需求,只需拿来即用就行。用法非常简单:
首先安装一下本 gem,gem install useragents
。
然后对代码:
require 'httparty' HTTParty.get('http://ruby-china.org')
更改成这样即可
require 'useragents' agent = UserAgents.rand() # => "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36" HTTParty.get('http://ruby-china.org', :headers => {'User-Agent' => agent})
useragents
?全部收集于流行浏览器?Chrome, Opera, Safari, InternetExplorer, Firexof
,并剔除了其中的老旧版本,最终保留了 500 多个?User-Agent
,并会定时更新。
附上?github
?地址?https://github.com/debbbbie/useragents-rb, 欢迎?fork
?或提交?issues
?。