我正在使用cURL命令下载网站的 HTML 源页面。问题是,我不想要页面中的大部分内容。我只需要源页面的前 100 行。有没有办法在前几行后停止下载页面?
目前,我有以下命令工作,但它似乎没有时间有效。
curl -r[0-1] "http://www.freebase.com/m/045c7b" > foo.txt
Run Code Online (Sandbox Code Playgroud)
我尝试将值从 更改1为.5和.05,但仍然下载了整个网页。
我正在查看执行上述命令的时间不到一秒钟。
编辑
从 的手册页中cURL,我看到“您还应该知道许多 HTTP/1.1 服务器没有启用此功能,因此当您尝试获取范围时,您将获取整个文档。 ”因此,如果服务器不支持范围查询,nix环境中是否还有其他命令可以帮助我完成我想要做的事情?
您可以使用head和-s开关来curl下载页面的一部分。只需告诉head您想要多少行输出。
$ curl -r[0-1] "http://www.freebase.com/m/045c7b" -s 2>&1 | head -10
Warning: Invalid character is found in given range. A specified range MUST
Warning: have only digits in 'start'-'stop'. The server's response to this
Warning: request is uncertain.
<!DOCTYPE html PUBLIC "null" "null">
<html class="no-js" dir="ltr" lang="en">
<head>
<meta charset="utf-8">
<title>
Run Code Online (Sandbox Code Playgroud)
-10到head会返回10行,然后停止。如果您想要更多,请更改它以满足您的需求。-s开关curl告诉它是无声的,所以它不会显示在下载进度条。| 归档时间: |
|
| 查看次数: |
4622 次 |
| 最近记录: |