cURL:它是什么,以及如何将其用于网页抓取

什么是cURL?

cURL 是一个命令行工具,您可以使用它通过网络协议传输数据。cURL的名字代表‘Client URL’,也写作‘curl’。这个流行的命令使用URL语法在服务器之间传输数据。cURL由‘libcurl’驱动,一个免费且易于使用的客户端URL传输库。

为什么使用cURL有优势?

此命令的多功能性意味着您可以将cURL用于多种用例,包括:

  • 用户认证

  • HTTP提交

  • SSL连接

  • 代理支持

  • FTP上传

cURL的最简单‘用例’是使用支持的协议下载和上传整个网站。

cURL协议

虽然cURL支持的协议列表很长,但如果您不提供特定协议,它将默认使用HTTP。以下是支持的协议列表:

DICT

FILE

FTP

FTPS

GOPHER

HTTP

HTTPS

IMAP

IMAPS

LDAP

POP3

RTMP

RTSP

SCP

SFTP

SMB

SMBS

TELNET

TFTP

安装cURL

cURL命令在Linux发行版中默认安装。

如何检查您是否已经安装了cURL?

1. 打开您的Linux控制台

2. 输入‘curl’,然后按‘回车’。

3. 如果您已经安装了cURL,您将看到以下消息:

图片

4. 如果您尚未安装cURL,您将看到以下消息:‘command not found’。然后您可以转到您的发行版包并安装它(更多详细信息见下文)。

如何使用cURL

cURL的语法非常简单:

图片

例如,如果您想下载一个网页:webpage.com,只需运行:

图片

然后该命令将在您的终端窗口中给您该页面的源代码。请注意,如果您不指定协议,cURL将默认为HTTP。以下是如何定义特定协议的示例:

图片

如果您忘记添加://,cURL会猜测您想使用的协议。

我们简要讨论了此命令的基本用法,但您可以在cURL文档站点上找到选项列表。这些选项是您可以对URL执行的可能操作。选择一个选项时,它会告诉cURL对您列出的URL采取什么操作。URL告诉cURL需要在何处执行此操作。然后cURL允许您列出一个或多个URL。

要下载多个URL,请在每个URL前添加-0和一个空格。您可以在一行中执行此操作,也可以为每个URL写不同的行。您还可以通过列出页面下载部分URL。例如:

图片

保存下载内容

您可以使用两种不同的方法保存URL的内容到文件:

1. -o方法:允许您添加一个保存URL的文件名。此选项具有以下结构:

图片

2. -O方法:在此处您无需添加文件名,因为此选项允许您将文件保存为URL名称。要使用此选项,您只需在URL前加-O。

恢复下载

可能会发生您的下载在中途停止。在这种情况下,重新写入命令并在开头添加-C选项:

图片

为什么cURL如此受欢迎?

cURL真的是命令中的‘瑞士军刀’,专为复杂操作而设计。然而,也有一些替代品,例如‘wget’或‘Kurly’,适用于简单任务。

cURL是开发人员的最爱,因为它几乎适用于每个平台。有时它甚至是默认安装的。这意味着,无论您运行什么程序/作业,cURL命令都应该可以工作。

此外,如果您的操作系统不到十年,您可能已经安装了cURL。您还可以在浏览器中阅读文档,并查看cURL文档。如果您运行的是最新版本的Windows,您可能已经安装了cURL。如果没有,请查看这篇Stack Overflow上的帖子了解更多安装方法。

使用cURL和代理

有些人可能更喜欢将cURL与代理结合使用。这样做的好处包括:

  1. 增加成功管理来自不同地理位置的数据请求的能力。

  2. 显著增加可以同时运行的并发数据作业数量。

为实现这一目标,您可以利用cURL内置的‘-x’和‘(--proxy)’功能。以下是将您使用的代理与cURL集成的命令行示例:

图片

在上面的代码片段中——‘6666’是端口号的占位符,而‘026.930.77.2’是IP地址。

值得知道的是:cURL与目前使用的大多数常见代理类型(包括HTTP、HTTPS和SOCKS)兼容。

如何更改User-Agent

User-Agent是允许目标网站识别请求信息的设备的特征。目标网站可能要求请求者满足特定条件才能返回所需的目标数据。这可能涉及设备类型、操作系统或使用的浏览器。在这种情况下,收集数据的实体将希望模拟目标网站的理想‘候选人’。

例如,假设您正在针对的网站‘偏好’请求方使用Chrome浏览器。为了使用cURL获取所需的数据集,您需要模拟此‘浏览器特征’如下:

图片

使用cURL进行网页抓取

专业提示:请确保遵守网站的规则,一般不要尝试访问受密码保护的内容,这在大多数情况下是非法的,至少是不受欢迎的。

您可以使用cURL自动化网页抓取时的重复过程,帮助您避免繁琐的任务。为此,您需要使用PHP。以下是我们在GitHub上找到的一个示例:

图片

图片

当您使用cURL抓取网页时,有三个选项应使用:

  • 初始化会话

图片

  • 执行会话

图片

    • 关闭会话

图片

其他应使用的选项包括:

  • 设置要抓取的URL

图片

  • 告诉cURL将抓取的页面保存为变量。(这使您能够从页面中提取所需的内容。)

图片

总结

虽然cURL是一个强大的网页抓取工具,但它需要公司花费宝贵的开发人员时间来进行数据收集和数据清理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值