首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

让爬虫轻巧一点~(一)

2013-12-22 
让爬虫轻松一点~(一)在信息大爆炸的互联网,数据多的烦不胜数,想要人为的统计某类信息,恐怕越来越难了,这时

让爬虫轻松一点~(一)

在信息大爆炸的互联网,数据多的烦不胜数,想要人为的统计某类信息,恐怕越来越难了,这时候就需要爬虫的帮助了,一如 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?。

热点排行