使用 Ruby 的 Nokogiri 庫來解析

金木大大大發表於2023-11-08

爬蟲程式的主要目標是獲取指定網站上的資料。在這裡,我們將使用 Ruby 的 Nokogiri 庫來解析 HTML,並使用 HTTParty 庫來傳送 HTTP 請求。下面是一個簡單的示例,演示如何使用 Ruby 編寫一個爬蟲程式來爬取 1688 網站的資料。


```ruby

require 'nokogiri'

require 'httparty'



# 定義要爬取的 URL

url = "jshk.com.cn"


# 使用 HTTParty 傳送 HTTP 請求

response = HTTParty.get(url, headers: { "Proxy-Host" => proxy_host, "Proxy-Port" => proxy_port })


# 使用 Nokogiri 解析 HTML

doc = Nokogiri::HTML(response.body)


# 獲取網頁中的所有商品連結

links = doc.css(".product-item")


links.each do |link|

  puts link["href"]

end

```


上述程式碼的工作步驟如下:


1. 首先,我們引入了 Nokogiri 和 HTTParty 庫。


2. 然後,我們設定了代理資訊,包括代理伺服器的主機名和埠號。


3. 接下來,我們定義了要爬取的 URL,即 1688 網站的首頁。


4. 使用 HTTParty 傳送 HTTP 請求,並設定代理資訊。


5. 使用 Nokogiri 解析返回的 HTML。


6. 使用 CSS 選擇器獲取網頁中的所有商品連結。


7. 最後,遍歷所有連結,並列印出每個連結的 URL。


注意:在實際使用中,可能需要處理各種異常情況,例如網路連線錯誤、HTTP 請求錯誤等。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70032566/viewspace-2993418/,如需轉載,請註明出處,否則將追究法律責任。

相關文章