使用 Typhoeus 和 Ruby 編寫的爬蟲程式
以下是一個使用 Typhoeus 和 Ruby 編寫的爬蟲程式,用於爬取 ,同時使用了 jshk.com.cn/get\_proxy 這段程式碼獲取代理:
```ruby
#!/usr/bin/env ruby
require 'typhoeus'
require 'json'
def get_proxy
url = "
response = Typhoeus.get(url)
if response.code == 200
proxy_json = JSON.parse(response.body)
proxy_ip = proxy_json['data']['ip']
proxy_port = proxy_json['data']['port']
return proxy_ip, proxy_port
end
rescue Typhoeus::Error => e
puts "Error: #{e.message}"
exit(1)
end
def crawl_ebay(proxy_ip, proxy_port)
url = "
headers = {
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language' => 'zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4',
'Accept-Encoding' => 'gzip, deflate, br',
'Referer' => '
'Connection' => 'keep-alive'
}
# 使用 Typhoeus 的 Hydra 物件進行併發請求
hydra = Typhoeus::Hydra.new
# 建立一個使用代理的請求
request = Typhoeus::Request.new(url, headers: headers, proxy: { ip: proxy_ip, port: proxy_port })
# 使用 Hydra 物件傳送請求
response = hydra.queue(request)
# 如果請求成功,輸出響應體
if response.code == 200
puts "Request successful. Response body: #{response.body}"
# 如果請求失敗,輸出錯誤資訊
else
puts "Request failed. Error: #{response.code}"
end
# 關閉 Hydra 物件
hydra.close
end
# 獲取代理
proxy_ip, proxy_port = get_proxy
# 使用獲取到的代理進行爬取
crawl_ebay(proxy_ip, proxy_port)
```
這個程式首先獲取一個代理IP和埠,然後使用這個代理進行 ebay.com 的爬取。請注意,這個示例程式碼可能會隨著網站的變化而失效,您可能需要根據實際情況進行調整。同時,請注意,在使用這個程式之前,請確保已經安裝了 Typhoeus 庫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70032566/viewspace-2989756/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用JavaScript編寫的爬蟲程式JavaScript爬蟲
- 編寫一個使用wreq庫的爬蟲程式爬蟲
- 如何編寫一個Perl爬蟲程式爬蟲
- 使用 Kotlin DSL 編寫網路爬蟲Kotlin爬蟲
- 使用python的scrapy來編寫一個爬蟲Python爬蟲
- C語言爬蟲程式編寫的爬取APP通用模板C語言爬蟲APP
- 你有自己寫過爬蟲的程式嗎?說說你對爬蟲和反爬蟲的理解?爬蟲
- 不用寫程式碼的爬蟲爬蟲
- 基於nodejs編寫小爬蟲NodeJS爬蟲
- 使用正則編寫簡單的爬蟲爬取某網站的圖片爬蟲網站
- 使用Python和requests庫的簡單爬蟲程式Python爬蟲
- 5 個用 Python 編寫 web 爬蟲的方法PythonWeb爬蟲
- 3 行寫爬蟲 - 使用 Goribot 快速構建 Golang 爬蟲爬蟲Golang
- 反-反爬蟲:用幾行程式碼寫出和人類一樣的動態爬蟲爬蟲行程
- 網路爬蟲編寫常見問題爬蟲
- 教你如何編寫第一個簡單的爬蟲爬蟲
- Rails並不是用Ruby編寫的AI
- 如何使用fasthttp庫的爬蟲程式ASTHTTP爬蟲
- 用Golang寫爬蟲(六) - 使用collyGolang爬蟲
- 爬蟲:多程式爬蟲爬蟲
- github上的python爬蟲專案_GitHub - ahaharry/PythonCrawler: 用python編寫的爬蟲專案集合GithubPython爬蟲
- 使用 nodejs 寫爬蟲(一): 常用模組和 js 語法NodeJS爬蟲
- 寫爬蟲時常見的五種字串編碼特徵爬蟲字串編碼特徵
- 編寫web2.0爬蟲——頁面抓取部分Web爬蟲
- 寫網路爬蟲程式的三種難度爬蟲
- 基於 Lua 寫一個爬蟲程式爬蟲
- 新一代爬蟲平臺!不寫程式碼即可完成爬蟲...爬蟲
- 使用nodeJS寫一個簡單的小爬蟲NodeJS爬蟲
- 使用 Golang 寫爬蟲經驗總結Golang爬蟲
- 利用python編寫爬蟲爬取淘寶奶粉部分資料.1Python爬蟲
- App爬蟲神器mitmproxy和mitmdump的使用APP爬蟲MIT
- 新手寫的視訊爬蟲爬蟲
- 寫個爬蟲唄爬蟲
- Python使用多程式提高網路爬蟲的爬取速度Python爬蟲
- Python爬蟲之路-chrome在爬蟲中的使用Python爬蟲Chrome
- Python爬蟲之路-selenium在爬蟲中的使用Python爬蟲
- 爬蟲-selenium的使用爬蟲
- 為什麼使用Scrapy框架來寫爬蟲?框架爬蟲