博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell爬虫--抓取某在线文档所有页面
阅读量:5040 次
发布时间:2019-06-12

本文共 811 字,大约阅读时间需要 2 分钟。

在线教程一般像流水线一样,页面有上一页下一页的按钮,因此,可以利用shell写一个爬虫读取下一页链接地址,配合wget将教程所有内容抓取。

以postgresql中文网为例。下面是实例代码

#!/bin/shstart_URL="http://www.postgres.cn/docs/9.6/preface.html"end_URL="http://www.postgres.cn/docs/9.6/bookindex.html"URL=$start_URLwhile [ $URL != $end_URL ];docurl -s  $URL >tmp.txtwget $URL -P psqlgrep -n 'ACCESSKEY="N"'  tmp.txt > tmp2.txtcut -f1 -d":" tmp2.txt | head -n 1 > tmp3.txtlet LINE=`cat tmp3.txt`let LINE--sed -n "${LINE}p" tmp.txt > tmp4.txtsed -i 's/HREF="//g' tmp4.txtsed -i 's/"//g' tmp4.txtsURL=`cat tmp4.txt`cat tmp4.txt >> allurl.txtFULLURL="http://www.postgres.cn/docs/9.6/$sURL"URL=$FULLURLdonerm -rf tmp.txt tmp2.txt tmp3.txt tmp4.txt

 

 说明:

1、URL 要下载的html文件路径

2、sURL html文件的相对路径

3、FULLURL  sURL和模板拼接后的完整url

4、tmp.txt  用于保存curl取得的页面数据

 

 

 

转载于:https://www.cnblogs.com/sherlock-merlin/p/9041864.html

你可能感兴趣的文章
下拉框比较符
查看>>
2.2.5 因子的使用
查看>>
css选择器
查看>>
photoplus
查看>>
Python 拓展之推导式
查看>>
[Leetcode] DP-- 474. Ones and Zeroes
查看>>
80X86寄存器详解<转载>
查看>>
c# aop讲解
查看>>
iterable与iterator
查看>>
返回顶部(动画)
查看>>
webpack+react+antd 单页面应用实例
查看>>
Confluence 6 SQL Server 数据库驱动修改
查看>>
Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决
查看>>
【47.76%】【Round #380B】Spotlights
查看>>
Git(使用码云)
查看>>
分享Java web 开发必游之路
查看>>
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题(转载)
查看>>
Bean的Scope
查看>>
【BZOJ】3142: [Hnoi2013]数列
查看>>
http初探
查看>>