Ruby 強大的標準庫 (net/http, open-uri) 配合簡潔語法,讓網頁爬蟲與代理切換開發極為高效。本文示範從免費代理網站 (cnproxy.com) 批量抓取代理 IP、驗證可用性、並透過代理請求目標網頁的完整腳本,附關鍵型別陷阱 (埠號必須為 Integer) 避坑指南。
require 'net/http'
# 1. 直接請求獲取網頁內容
def query_url(url)
Net::HTTP.get(URI.parse(url))
end
# 2. 從 cnproxy 抓取代理列表 (前10頁) 存入 proxy.txt
def find_all_proxy
# cnproxy 用 JS 混淆埠號,需解碼映射表
decode_map = { 'z'=>'3','j'=>'4','r'=>'2','l'=>'9','c'=>'0',
'x'=>'5','i'=>'7','a'=>'6','p'=>'8','s'=>'1' }
File.open("proxy.txt", "w") do |pf|
(1..10).each do |page|
url = "https://www.cnproxy.com/proxy#{page}.html"
content = query_url(url)
# 解析 IP
content.scan(/(.*?)
Copyright © 程式碼之家 All Rights Reserved