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

相关推荐
木易士心23 分钟前
从 MVP 到千万级并发:AI 在前后端开发中的差异化落地指南
前端·后端
哈基咪怎么可能是AI24 分钟前
😱【OpenClaw 源码解析 第3期】你的 AI 助手每次都「失忆」?学会这一招,让它记住你所有重要决策,效率直接翻倍!
人工智能·后端
小杍随笔29 分钟前
【Rust 语言编程知识与应用:自定义数据类型详解】
开发语言·后端·rust
波波00729 分钟前
每日一题:.NET 中的“表达式树是什么?
后端·.net
m0_5281744540 分钟前
C++中的代理模式变体
开发语言·c++·算法
皙然41 分钟前
深入理解 Java HashMap:从底层原理、源码设计到面试考点全解析
java·开发语言·面试
蜗牛会飞 202443 分钟前
大数据时代个人信息保护五大挑战
开发语言·华为云·个人开发·c5全栈
饕餮争锋1 小时前
Baas(后端即服务)简介
后端
mjhcsp1 小时前
C++ 折半搜索(Meet in the Middle):突破指数级复杂度的分治策略
开发语言·c++
mftang1 小时前
C语言条件编译详解
c语言·开发语言