之前张耀老师的网页脚本由于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

抓取网页的脚本 【修复】相关推荐

  1. 抓取网页图片的脚本(javascript)

    抓取网页图片的脚本(javascript) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24172223 脚本内容 (没有换行) ...

  2. 利用Crowbar抓取网页异步加载的内容 [Python俱乐部]

    利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 在做 Web 信息提取.数 ...

  3. cookie追加数据_集算器 SPL 抓取网页数据

    [摘要] 集算器 SPL 支持抓取网页数据,根据抓取定义规则,可将网页数据下载到在本地进行统计分析.具体定义规则要求.使用详细情况,请前往乾学院:集算器 SPL 抓取网页数据! 网站上的数据源是我们进 ...

  4. java取邮箱前缀_java抓取网页或文件中的邮箱号码

    java抓取网页或文件中的邮箱号码 发布时间:2020-10-18 08:58:32 来源:脚本之家 阅读:69 作者:java大渣渣 本文实例为大家分享了java抓取邮箱号码的具体代码,供大家参考, ...

  5. 使用Python抓取网页信息

    之前用C#帮朋友写了一个抓取网页信息的程序,搞得好复杂,今天朋友又要让下网页数据,好多啊,又想偷懒,可是不想用C#了,于是想到了Python,大概花了两个小时,用记事本敲的,然后在IDLE (Pyth ...

  6. 使用Scrapy,帮你快速抓取网页数据(代码可下载)!

    Scrapy 是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网站数据.提取结构性数据以及各种图片,非常方便.Sc ...

  7. Python抓取网页云音乐指定歌手的歌曲和评论数量

    之前简单学了一下Python,没做过东西,心血来潮来了个idea,就写了一个抓取网页云音乐指定歌手的歌曲和评论数量的脚本. 代码如下,如果缺少包则用pip安装一下,不过AES加密用到的pycrypto ...

  8. Linux 抓取网页实例(shell+awk)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 上一篇博 ...

  9. python抓取网站重要url_[Python]网络爬虫(一):抓取网页的含义和URL基本构成

    一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一 ...

最新文章

  1. 记一次lwip中 遇到 pcb == pcb-next 的pcb死循环debug过程
  2. java转文件编码bom_编码转换:UTF-8 BOM to GBK
  3. webpack的一些常用配置 (转)
  4. Spring MVC Ajax返回中文乱码
  5. vue2 关于开发插件的几点思考
  6. 米斯特白帽培训讲义(v2)漏洞篇 文件包含
  7. UI设计动效\动画素材模板|分层分步骤学习动效设计
  8. bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(暴力DFS)
  9. 动态下拉框中如何使用常量?
  10. 雷锋实验室:Evernote的中国门徒
  11. APPCON低成本Si4438 470M电表无线抄表模块
  12. 计算机管理规划,2019年计算机软考系统规划与管理师考试大纲
  13. systemd 编写微信鱼虾蟹棋牌搭建服务管理脚本
  14. 用Python实现一个软件自动升级系统
  15. 大学毕业后拉开差距的真正原因
  16. 干货!底层视觉研究,我们应该往哪里走?
  17. Vue中引用图片动态背景图片
  18. hexo next主题去掉码市的Coding Pages等待页
  19. googleplay刷榜和APP Store 刷榜哪些不为人知的事
  20. turtle的函数及使用

热门文章

  1. ubuntu设置securecrt串口权限
  2. Linux很实用的命令查找软件安装目录
  3. 好多Javascript日期选择器呀-4
  4. 如果有大型 Web 应用程序,可考虑执行预批编译
  5. Spring源码分析【5】-Spring MVC处理流程
  6. OpenSSL简介及在Windows、Linux、Mac系统上的编译步骤
  7. 如何运行ImageMagick的命令行工具
  8. matlab常遇小问题汇总
  9. 【leetcode】力扣刷题(1):两数之和(Go、Python)
  10. 【OpenCV】将图像数据由YUV格式转换成JPG格式直接使用,而不保存成文件