使用 `open-uri.with_proxy` 方法打开网页

news/2024/7/19 10:03:09 标签: 爬虫

Ruby 爬虫程序如下:

require 'open-uri'
require 'nokogiri'

# 定义代理信息
proxy_host = 'jshk.com.cn'


# 定义要爬取的网页 URL
url = 'http://www.example.com'

# 使用代理信息打开网页
open-uri.with_proxy(proxy_host, proxy_port) do |proxy|
  # 使用 Nokogiri 库解析网页内容
  doc = Nokogiri::HTML(proxy.open(url))
end

代码解释:

  1. 首先,我们引入了两个 Ruby 模块,即 open-urinokogiriopen-uri 模块用于打开网络资源,nokogiri 模块用于解析 HTML 文档。

  2. 然后,我们定义了代理信息,即代理服务器的主机名和端口号。

  3. 接着,我们定义了要爬取的网页 URL。

  4. 使用 open-uri.with_proxy 方法打开网页,其中第一个参数是代理服务器的主机名,第二个参数是代理服务器的端口号。在 with_proxy 方法内部,我们使用 proxy.open 方法打开网页。

  5. 使用 Nokogiri::HTML 方法解析打开的网页内容。在这里插入图片描述


http://www.niftyadmin.cn/n/5177844.html

相关文章

【C++11】智能指针与动态内存

系列文章目录 文章目录 系列文章目录前言一、智能指针类型共享指针(shared_ptr)弱指针(weak_ptr)独占指针(unique_ptr) 前言 C中的动态内存管理是通过一对运算符来完成的:new,在动态内存中为该…

odoo在iot领域的发展情况

Odoo 是一个全面的集成商业管理软件套装,主要提供企业资源规划 (ERP)、客户关系管理 (CRM)、电子商务、会计、库存管理等功能。在 IoT(物联网)领域,Odoo 侧重于通过提供一个中心化的平台来整合多方面的业务流程,包括生…

如何显示标注的纯黑mask图

文章目录 前言一、二分类mask显示二、多分类mask显示 前言 通常情况下,使用标注软件标注的标签图看起来都是纯黑的,因为mask图为单通道的灰度图,而灰度图一般要像素值大于128后,才会逐渐显白,255为白色。而标注的时候…

c语言-数据结构-链表分割

链表分割实际上是给定一个值,遍历链表把链表中小于该值的节点与大于该值的节点分开,一般是将小于该值的节点放到链表的前面部分,大于该值的节点放在链表的后面部分。 链表分割示意图如下: 思路: 首先创建两条带哨兵位节…

samba服务器搭建 挂载远程目录 常用配置参数介绍

samba 直接复用linux的用户,但是Linux 用户的密码和 smbpasswd 设置的密码是分开的。 Linux 用户的密码是存储在 Linux 系统的用户数据库中,通常是 /etc/shadow 文件中以加密形式存储的。Samba 用户的密码是存储在专门的 Samba 密码数据库中 smbpasswd…

VR建筑仿真场景编辑软件有助于激发创作者的灵感和创造力

随着VR虚拟现实技术的不断发展和普及,VR虚拟场景编辑器逐渐成为了VR场景开发重要工具。它对于丰富和完善VR虚拟现实内容的创建和呈现具有重要的意义,为我们的工作和教学带来了许多变化和可能性。 首先,VR虚拟场景编辑器对于提升用户体验具有重…

C#中.NET 6.0控制台应用通过EF访问已建数据库

目录 一、新建.NET 6.0控制台应用并建立数据库连接 二、下载并安装EF程序包 三、自动生成EF模型和上下文 1.Blog类模型 2.Post类模型 3.数据库上下文 四、设计自己的应用 VS2022的.NET6.0、.NET7.0框架下默认支持EF7(版本号7.0.13),除…

Android设计模式--Builder建造者模式

一,定义 Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程。 也就是将一个对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二&…