使用 Ruby 的 Nokogiri 庫來解析
爬蟲程式的主要目標是獲取指定網站上的資料。在這裡,我們將使用 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nokogiri庫
- # Ruby 資料抓取寫入 xls (unirest, nokogiri, spreadsheet)REST
- 解析Ruby
- Github專案中使用率最高的Java/Ruby/JS庫GithubJavaJS
- 使用 Acorn 來解析 JavaScriptJavaScript
- redis的ruby的介面庫下載Redis
- ruby_expect模組的使用..薦
- 用Ruby來開發GUI程式GUI
- 使用awk來解析dump檔案
- ruby 使用Struct場景Struct
- Ruby連線MySQL資料庫MySql資料庫
- android使用Gson來解析jsonAndroidJSON
- golang常用庫:配置檔案解析庫-viper使用Golang
- 使用DOM解析來實現PHP模版引擎PHP
- [Ruby]format xml with RubyORMXML
- 使用 Typhoeus 和 Ruby 編寫的爬蟲程式爬蟲
- 使用 Ruby on Rails 開發 Go 介面AIGo
- ruby DBI安裝使用指南
- RUBY實踐—資料庫簡單操作資料庫
- 未來的程式語言究竟會變成什麼樣?——來自Ruby之父的預測
- OkHttp 開源庫使用與原始碼解析HTTP原始碼
- 使用Javascript 開發個JSON解析庫JavaScriptJSON
- go的markdown解析庫和session庫GoSession
- Ruby程式語言與Ruby之間的比較
- 使用了Buzz庫的HttpClient類來設定代理HTTPclient
- 使用Android sdk自帶的jsonReader來解析jsonAndroidJSON
- 單例設計模式中使用dom4j來完成(資料庫配置檔案)xml的解析,並完成資料庫的連線單例設計模式資料庫XML
- 翻出來了 老東西了 , oracle 資料庫解析 extent 資料結構解析Oracle資料庫資料結構
- 使用Flyway來管理資料庫版本資料庫
- Ruby 札記 - 淺嘗 Ruby 特性
- 新一代Json解析庫Moshi使用及原理解析JSON
- ruby訪問memcache[使用memcache-client1.7.0]client
- MyBatis框架的使用解析!資料庫相關API的基本介紹MyBatis框架資料庫API
- 《手寫Mybatis》第5章:資料來源的解析、建立和使用MyBatis
- 使用java的HTML解析器 jsoup來防止XSS攻擊JavaHTMLJS
- 理解 Ruby 裡的 blockBloC
- Ruby中的陣列陣列
- Logstash中的ruby