curl http://www.baidu.com/ -o baidu.html
这句是抓取页面内容到服务器上,但如何在Shell里对内容进行分析呢?
这里我以取出搜索目标为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来做,功能会更强大一些!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。