分類  >  互聯網 >

讓爬蟲輕巧一點~(一)

tags:    時間:2013-12-27 15:42:53
讓爬蟲輕鬆一點~(一)

在信息大爆炸的互聯網,數據多的煩不勝數,想要人為的統計某類信息,恐怕越來越難了,這時候就需要爬蟲的幫助了,一如 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 。

推薦閱讀文章

Bookmark the permalink ,來源:互聯網