如何通过Shell+Curl抓取远程页面中的链接并存入文本

Jewel_M 发布于 2014/05/22 18:05
阅读 3K+
收藏 0

【华为云1024程序员节·向云而生】预约直播 抽14件华为电子产品礼包!>>>

curl  http://www.baidu.com/  -o  baidu.html

这句是抓取页面内容到服务器上,但如何在Shell里对内容进行分析呢?



加载中
0
溪边九节
溪边九节

这里我以取出搜索目标为oschina,取出所有的搜索结果标题为例:

#搜索oschina并将搜索结果存入page.html
curl http://www.baidu.com/s?wd=oschina -o page.html 

#接下来可以对page.html进行处理
cat page.html | sed "s/\"url\"/\r\n/g" | grep "\"title\":.*" | sed "s/.*title/\"title/g" | grep "\"title\":\".*\"" > outcome.txt



得到结果 outcome.txt为:

"title":"开源中国 - 找到您想要的开源项目,分享和交流",
"title":"git@osc - 代码托管 - 开源中国社区 ",
"title":"oschina - 开源中国社区",
"title":"oschina - 30分钟,让你成为一个更好的程序员 - 开源中国社区",
"title":"像开源中国(oschina)这种网站,叫什么站? 希望回答的具..._百度知道",
"title":"oschina+技术架构介绍_免费下载_百度文库",
"title":"中国源 —— 云端的开发者服务平台",
"title":"oschina / android-app - 代码托管 - 开源中国社区 ",
"title":"在线工具 —— 开源中国社区",
"title":"oschina/search-framework · GitHub",



仔细对下载下来的文件进行观察,主要使用grep和sed工具提取出自己需要的内容。

如果shell不能满足你,可以用python来做,功能会更强大一些!

0
Jewel_M
Jewel_M

引用来自“无若”的评论

这里我以取出搜索目标为oschina,取出所有的搜索结果标题为例:

#搜索oschina并将搜索结果存入page.html
curl http://www.baidu.com/s?wd=oschina -o page.html 

#接下来可以对page.html进行处理
cat page.html | sed "s/\"url\"/\r\n/g" | grep "\"title\":.*" | sed "s/.*title/\"title/g" | grep "\"title\":\".*\"" > outcome.txt



得到结果 outcome.txt为:

"title":"开源中国 - 找到您想要的开源项目,分享和交流",
"title":"git@osc - 代码托管 - 开源中国社区 ",
"title":"oschina - 开源中国社区",
"title":"oschina - 30分钟,让你成为一个更好的程序员 - 开源中国社区",
"title":"像开源中国(oschina)这种网站,叫什么站? 希望回答的具..._百度知道",
"title":"oschina+技术架构介绍_免费下载_百度文库",
"title":"中国源 —— 云端的开发者服务平台",
"title":"oschina / android-app - 代码托管 - 开源中国社区 ",
"title":"在线工具 —— 开源中国社区",
"title":"oschina/search-framework · GitHub",



仔细对下载下来的文件进行观察,主要使用grep和sed工具提取出自己需要的内容。

如果shell不能满足你,可以用python来做,功能会更强大一些!

非常感谢  这正是我想要的!

返回顶部
顶部