curl 相关问题

cURL是一个库和命令行工具,用于使用各种协议(如HTTP,FTP和SFTP)传输数据。 cURL项目生成两个产品libcurl和cURL。无论使用哪种cURL产品,此标签都涵盖cURL的所有用法

在 Shell 脚本中使用 CURL 解析 HTML

我正在尝试在shell脚本中解析网页的特定内容。 我需要 grep 标签内的内容。 Diplo - 贾斯汀 我正在尝试在shell脚本中解析网页的特定内容。 我需要 grep <div> 标签内的内容。 <div class="tracklistInfo"> <p class="artist">Diplo - Justin Bieber - Skrillex</p> <p>Where Are U Now</p> </div> 如果我用grep -E -m 1 -o '<div class="tracklistInfo">',简历就只有<div class="tracklistInfo"> 如何访问艺术家(Diplo - Justin Bieber - Skrillex)以及如何访问标题(Where Are U Now)? 使用 xmllint: a='<div class="tracklistInfo"> <p class="artist">Diplo - Justin Bieber - Skrillex</p> <p>Where Are U Now</p> </div>' xmllint --html --xpath 'concat(//div[@class="tracklistInfo"]/p[1]/text(), "#", //div[@class="tracklistInfo"]/p[2]/text())' <<<"$a" 您将获得: Diplo - Justin Bieber - Skrillex#Where Are U Now 可以轻松分离。 您的标题以“Parse HTML with CURL”开头,但 curl 不是 html 解析器。如果您想使用命令行工具,请使用xidel。 xidel -s "<url>" -e '//div[@class="tracklistInfo"]/p' Diplo - Justin Bieber - Skrillex Where Are U Now xidel -s "<url>" -e '//div[@class="tracklistInfo"]/join(p," | ")' Diplo - Justin Bieber - Skrillex | Where Are U Now 不要。使用 HTML 解析器。例如,Python 的 BeautifulSoup 很容易使用,并且可以很容易地做到这一点。 话虽这么说,请记住 grep 适用于 lines。该模式匹配每条行,而不是整个字符串。 您可以使用 -A 来打印比赛后的行: grep -A2 -E -m 1 '<div class="tracklistInfo">' 应输出: <div class="tracklistInfo"> <p class="artist">Diplo - Justin Bieber - Skrillex</p> <p>Where Are U Now</p> 然后,您可以通过管道将其传递到tail来获取最后一行或倒数第二行: $ grep -A2 -E -m 1 '<div class="tracklistInfo">' | tail -n1 <p>Where Are U Now</p> $ grep -A2 -E -m 1 '<div class="tracklistInfo">' | tail -n2 | head -n1 <p class="artist">Diplo - Justin Bieber - Skrillex</p> 并使用 sed 去除 HTML: $ grep -A2 -E -m 1 '<div class="tracklistInfo">' | tail -n1 Where Are U Now $ grep -A2 -E -m 1 '<div class="tracklistInfo">' | tail -n2 | head -n1 | sed 's/<[^>]*>//g' Diplo - Justin Bieber - Skrillex 但如前所述,这是善变的,可能会损坏,而且不太漂亮。顺便说一句,这与 BeautifulSoup 相同: html = '''<body> <p>Blah text</p> <div class="tracklistInfo"> <p class="artist">Diplo - Justin Bieber - Skrillex</p> <p>Where Are U Now</p> </div> </body>''' from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'html.parser') for track in soup.find_all(class_='tracklistInfo'): print(track.find_all('p')[0].text) print(track.find_all('p')[1].text) 这也适用于多行 tracklistInfo - 将其添加到 shell 命令需要更多工作;-) cat - > file.html << EOF <div class="tracklistInfo"> <p class="artist">Diplo - Justin Bieber - Skrillex</p> <p>Where Are U Now</p> </div><div class="tracklistInfo"> <p class="artist">toto</p> <p>tata</p> </div> EOF cat file.html | tr -d '\n' | sed -e "s/<\/div>/<\/div>\n/g" | sed -n 's/^.*class="artist">\([^<]*\)<\/p> *<p>\([^<]*\)<.*$/artist : \1\ntitle : \2\n/p' 因为这会出现在搜索中,所以这里还有一些用于从 HTML 中提取数据的 CLI 工具: xidel:使用 CSS 选择器、XPath/XQuery 3.0 从 HTML/XML 页面下载和提取数据,以及查询 JSON htmlq:类似于 jq,但用于 HTML。 pup:使用 CSS 选择器处理 HTML 的命令行工具 tq:通过 CSS 选择器对 HTML 输入执行查找 html-xml-utils:hxextract(提取所选元素)和hxselect(提取与(CSS)选择器匹配的元素) hq:使用 CSS 和 XPath 选择器的轻量级命令行 HTML 处理器 cascadia:CSS 选择器 CLI 工具 xpe:易于使用的命令行xpath工具 hred:html reduce …从标准输入读取 HTML 并输出 JSON parsel:根据CSS选择器选择HTML文档的部分 这是 github 上这些项目的受欢迎程度图表:

回答 5 投票 0

内部 Laravel api 的 Api 消耗失败 - cURL 错误 6:无法解析主机

这是我在点击 URL http://localhost:8000/test 时收到的错误消息 cURL 错误 6:无法解析主机:api(请参阅 https://curl.haxx.se/libcurl/c/libcurl-errors.html)了解 api/test

回答 1 投票 0

如何在pleandmarket Rest api中设置订单备注?

如何在大量市场rest api中设置订单备注? 函数 setOrderNotes($orderId, $orderNote) { // 设置参数数组 $params = array('referenceType'=>'order','referenceV...

回答 1 投票 0

PHP 脚本中的 cURL 请求可以通过浏览器运行,但不能通过 CRON 运行

我知道有人对此有疑问,但到目前为止没有人帮助我解决我的问题。 我有一个 PHP 脚本,其工作是发送预定的电子邮件。它通过调用网络服务来做到这一点,我控制......

回答 2 投票 0

PHP 表单发布 $_POST 并在curl 中显示

我有一个小API脚本 我正在尝试从同一页面上的“活动”或“暂停”页面上的表单发布。 但在curl脚本中显示文本。但它没有显示 $variable 而只是我输入的代码 我有一个小API脚本 我正在尝试从同一页面上的表格(活动或暂停)发帖。 但是在curl脚本中显示文本。但它没有显示 $variable 而只是我输入的代码 <?php $variable = $_POST['name']; echo $variable; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, '....'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'accept: application/json', 'Content-Type: application/json', 'Authorization: Bearer ...', ]); curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "state": "<?php echo $variable; ?>"}'); $response = curl_exec($ch); print_r($response); curl_close($ch); ?> <form method="POST" action="suspend.php"> <input type="text" name='name' value="some value"> <button type="submit">Go</button> </form> <?php echo 在字符串中不起作用。它仅在您使用 ?> 退出 PHP 模式后才有效。 创建一个包含变量的数组并使用 json_encode()。 curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["state" => $variable]));

回答 1 投票 0

PHP 无法使用 Curl 读取 RSS 提要

我一直在使用在 shell 中运行的 PHP 程序来阅读华盛顿邮报 RSS 提要。 它已经工作了一年多,但在 2024 年 8 月 2 日停止工作。这是一个非常简单的例子

回答 1 投票 0

在PHP中通过curl来POST多维JSON参数

我不知道如何正确编码这个多维 JSON 记录来查询在线记录集合: { “状况” : [ { “完整路径”:{ ”

回答 1 投票 0

承载令牌,然后在curl脚本中显示令牌

我对所有此类代码都很陌生。 要使用 API 获取项目的状态,我必须使用 Bearer 进行身份验证。当它测试时,它给了我令牌,但后来它就过期了。 我现在需要尝试...

回答 1 投票 0

Zed 攻击代理 (ZAP) - OpenAPI 扫描 - 对 API 端点的错误请求 [/JSON/openapi/view/results/] - ApiException:BAD_VIEW(结果)

这是我的 bash 脚本中启动 openapi 扫描的请求: BASE_ZAP_URL="http://localhost:8080/JSON" OPENAPI_URL="${BASE_ZAP_URL}/openapi/action/importFile/"

回答 1 投票 0

API 令牌在 Delinea 秘密服务器中不起作用

我在 Delinea Secret Server 中遇到 API 令牌问题。 我有一个可以访问大多数机密的域用户。 作为该用户,我可以使用凭据获取所有秘密。 所以在 powershell 中我可以做...

回答 1 投票 0

请帮助php表单发布$_POST并在curl中显示

嗨希望有人可以提供帮助。我有一个小的 API 脚本 我正在尝试从同一页面上的“活动”或“暂停”页面上的表单发布。 但在curl脚本中显示文本。但它没有显示 $variable 而只是......

回答 1 投票 0

通过 Sauce Labs REST API 从本地上传文件

我正在尝试通过 Saucelabs REST API 从本地上传文件,并使用以下curl 命令上传文件。 Saucelabs 中上传的文件路径是什么? 特殊UR的使用方法...

回答 3 投票 0

如何使用 wget 解析 html 以使用针对 Jenkins 的模式匹配来下载工件

我正在尝试从 Jenkins 下载一个工件,我需要最新版本。如果我卷曲 jenkins.mycompany.com/view/iOS/job/build_ios/lastSuccessfulBuild/artifact/build ,它会将我带到

回答 2 投票 0

如何让Windows中的curl使用变量作为路径的一部分

我正在做使用 kubernetes 的教程(kubernetes.io 中的教程之一),它告诉你使用: 导出 POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.n...

回答 1 投票 0

Visual Studio 外部的 Visual Studio Docker 项目从服务器给出空回复

基本上,我的目标是使用 Visual Studio C# 和 .NET 8 创建一个 API,并从 Docker 运行它,并通过简单的 curl 或 postman 调用来调用它。 我在 VS 中创建了一个带有 Docker 的 API 项目。润妮...

回答 1 投票 0

MinIO C++ API 服务器失败,HTTP 状态代码为 0

有一个简单的客户端代码,它返回错误: 服务器失败,HTTP 状态代码 0 #包括 #pragma comment(lib, "Ws2_32.lib") int main(int argc, char* argv[]) ...

回答 1 投票 0

如何安装curl?

我使用 install.packages("curl", type = "source") 安装了curl。当我尝试做 iDigBio_SA <- idig_search_records(rq=list(scientificname="Spartina alterniflora"))...

回答 1 投票 0

curl:(60) 无法识别对等证书颁发者

我正在尝试按照“.NET 教程 - 5 分钟内的 Hello World”中的说明在 Centos 7 上安装 .net Core SDK 2.0.0。 当我运行第一个命令时 sudo rpm --导入 https://

回答 8 投票 0

如何从bash循环运行多线程或并行curl命令?

我正在寻找一种使curl请求自动化的解决方案。 目前我通过循环选项管理它并且工作正常,但是因为我不知道如何实现并行性和多线程,我的

回答 1 投票 0

URLDAY API 根据已发布的文档无法正常工作

我尝试使用 URLDAY 的 API 执行任何操作,但任何调用都会返回错误,无论它是来自 Python 代码还是来自 CURL。 例子: 卷曲--位置\ --请求 POST 'https://www.urlday.com/ap...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.