使用 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 请求错误等。

相关推荐
袋鱼不重11 分钟前
Hermes Agent 直连飞书机器人
前端·后端·ai编程
Pkmer19 分钟前
古法编程: 深度解析Java调度器Timer
java·后端
小强198822 分钟前
C++23/26新特性解析:那些让你放弃Boost库的杀手锏
后端
Aolith25 分钟前
学 Express 被 app.use 绕晕了?用流水线思维一次性搞懂 5 种中间件
后端·express
BduL OWED25 分钟前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
二月龙26 分钟前
从C++到WebAssembly:让高并发计算跑在浏览器里
后端
ZJY13229 分钟前
3-12:路由和重构
后端·node.js
掘金者阿豪31 分钟前
我用 Codex Rule 模式“驯服AI写代码”:从翻车到稳定上线的完整实践(附企业级规则模板 + 架构图)
后端
鱼人32 分钟前
现代C++启示录:告别裸指针,你的代码里还有很多“C的幽灵”
后端
棋子入局32 分钟前
C语言制作消消乐游戏(4)
c语言·开发语言·游戏