抓取网页的脚本 【修复】
之前张耀老师的网页脚本由于51cto升级,课程列表页面改用javascript失效了
笔者发现视频课程页面右边的列表都为静态化后的视频课程地址,遂将老师初始版本的脚本进行了修改,在对视频课程页面使用时结果正常,遂将及修改后的脚本和部分注释发上来供大家研究
[root@m01 scripts]# cat html_to_table.sh #!/bin/bash # oldboy linux training # 2016-11-13 # 基于老男孩linux21期学员张耀开发脚本 # EduFile=/tmp/edu.html #process temp file1 EduFile2=/tmp/edu2.html #process 2 Url="$*"# Check for given parameters [ $# -eq 0 ] && {echo "USAGE: /bin/sh $0 http://...."exit 1 }# Judge url is ok? curl -I $Url &>/dev/null [ $? -ne 0 ] &&{echo "Bad url,Please check it"exit 1 }# Defined get pagenum and CourseId Functions# Defined get pagenum and CourseId Functions #function getnum(){ # curl -s $Url>$EduFile # grep '"pagesGoEnd"' $EduFile &>/dev/null # if [ $? -eq 0 ] # then # num=`sed -rn 's#.*page=([0-9].*)" class="pagesGoEnd".*$#\1#gp' $EduFile` # else # num=`sed -rn 's|.*page=([0-9].*)#" class="pagesNum".*$|\1|gp' $EduFile` # fi # pagenum=${num:-1} # CourseId=`echo $Url|awk -F "[-.]" '{print $4}'` #}# Defined curl html Functions #function Curl(){ # getnum # for i in `seq $pagenum` # do # curl "http://edu.51cto.com/index.php?do=course&m=lessions&course_id=$CourseId&page=$i" 1>>$EduFile 2>/dev/null # done #} #分段没了,原函数保留,视频页抓一遍就好 function Curl(){curl "$*" 1>>$EduFile 2>/dev/null }# Defined Create table Functions function table(){sum=""index=1sed -rn '/lesson/ s#<.*(<a href=")(.*)#\1http://edu.51cto.com\2#gp' $EduFile > $EduFile2while read linedosum=$sum"<tr><th width="40" scope="row">$index</th><td width="520">$line</td>"((index++))done <$EduFile2 }# Defined Create html Functions function html(){cat >/tmp/oldboy.html<<-END<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>test</title></head><body><table width="560" border="1">$sum</table></body></html> END }function main(){Curltablehtml }main
效果是相似的但是像换页之类的功能都没用到,还是有很多值得向前辈学习的地方
tips:cat语句特别是最后end不能有空格,前端缩进最好用tab键完成
源脚本 “zhangyao” 博客,请务必保留源出处http://life2death.blog.51cto.com/7550586/1657133
最后欢迎大家访问我的wp博客>https://www.drscrewdriver.com 岂止博客
转载于:https://blog.51cto.com/drscrewdriver/1873203
抓取网页的脚本 【修复】相关推荐
- 抓取网页图片的脚本(javascript)
抓取网页图片的脚本(javascript) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24172223 脚本内容 (没有换行) ...
- 利用Crowbar抓取网页异步加载的内容 [Python俱乐部]
利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 在做 Web 信息提取.数 ...
- cookie追加数据_集算器 SPL 抓取网页数据
[摘要] 集算器 SPL 支持抓取网页数据,根据抓取定义规则,可将网页数据下载到在本地进行统计分析.具体定义规则要求.使用详细情况,请前往乾学院:集算器 SPL 抓取网页数据! 网站上的数据源是我们进 ...
- java取邮箱前缀_java抓取网页或文件中的邮箱号码
java抓取网页或文件中的邮箱号码 发布时间:2020-10-18 08:58:32 来源:脚本之家 阅读:69 作者:java大渣渣 本文实例为大家分享了java抓取邮箱号码的具体代码,供大家参考, ...
- 使用Python抓取网页信息
之前用C#帮朋友写了一个抓取网页信息的程序,搞得好复杂,今天朋友又要让下网页数据,好多啊,又想偷懒,可是不想用C#了,于是想到了Python,大概花了两个小时,用记事本敲的,然后在IDLE (Pyth ...
- 使用Scrapy,帮你快速抓取网页数据(代码可下载)!
Scrapy 是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网站数据.提取结构性数据以及各种图片,非常方便.Sc ...
- Python抓取网页云音乐指定歌手的歌曲和评论数量
之前简单学了一下Python,没做过东西,心血来潮来了个idea,就写了一个抓取网页云音乐指定歌手的歌曲和评论数量的脚本. 代码如下,如果缺少包则用pip安装一下,不过AES加密用到的pycrypto ...
- Linux 抓取网页实例(shell+awk)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 上一篇博 ...
- python抓取网站重要url_[Python]网络爬虫(一):抓取网页的含义和URL基本构成
一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一 ...
最新文章
- 记一次lwip中 遇到 pcb == pcb-next 的pcb死循环debug过程
- java转文件编码bom_编码转换:UTF-8 BOM to GBK
- webpack的一些常用配置 (转)
- Spring MVC Ajax返回中文乱码
- vue2 关于开发插件的几点思考
- 米斯特白帽培训讲义(v2)漏洞篇 文件包含
- UI设计动效\动画素材模板|分层分步骤学习动效设计
- bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(暴力DFS)
- 动态下拉框中如何使用常量?
- 雷锋实验室:Evernote的中国门徒
- APPCON低成本Si4438 470M电表无线抄表模块
- 计算机管理规划,2019年计算机软考系统规划与管理师考试大纲
- systemd 编写微信鱼虾蟹棋牌搭建服务管理脚本
- 用Python实现一个软件自动升级系统
- 大学毕业后拉开差距的真正原因
- 干货!底层视觉研究,我们应该往哪里走?
- Vue中引用图片动态背景图片
- hexo next主题去掉码市的Coding Pages等待页
- googleplay刷榜和APP Store 刷榜哪些不为人知的事
- turtle的函数及使用