1、为何学python

编程语言方面,本科这几年一直都用C/C++,因为研究生方向与机器学习相关,所以最近大部分时间在学机器学习,看了《机器学习实战》这本书,里面的实例都是用python来写,并且目前来说,对机器学习算法支持得比较多的语言是python,matlab/octave当然也很适合用于机器学习,但是毕竟是学术工具,速度等方面肯定不如python,工业开发还是用python、c++。
总之对于学习机器学习,python以及NumPy库要熟悉。
所以这两天决定学一下python,就找了个评价还不错的公开课看了两天,边看边敲代码,感觉python确实是一门很简单的语言,只要有点C++、C、Java或者其他语言基础,一两天完全可以入门python。当然入门简单,精通难,还是要靠多练。
下面简单的小爬虫程序是看完视频后写的,算是第一个小程序

2、爬虫小程序

因为刚好要看Andrew Ng的机器学习课程,所以就顺便用这个爬虫程序抓取了网页上的视频,网页地址:
http://v.163.com/special/opencourse/machinelearning.html
右键查看源代码,发现提供下载的视频格式都是“.mp4”后缀:
网页上提供下载的视频在源代码中都是这种式:href='http://mov.bn.netease.com/mobilev/2011/9/8/V/S7CTIQ98V.mp4'
据此可以写出所要匹配的正则表达式:r=r" href='(http.*\.mp4)' "
接下来的任务就是获取网页源代码,然后在源代码里面寻找所有匹配正则r的字符串。
抓取源代码可以利用urllib里的urlopen()方法:page=urllib.urlopen(url),返回的是一个页面的对象page,通过html=page.read()可以将页面源代码保存到html变量中。
源代码抓下来之后,就要寻找并获取里面所有的:
href='http://mov.bn.netease.com/mobilev/2011/9/8/V/S7CTIQ98V.mp4'
可以通过正则r,以及正则模块re里的findall方法来获取:mp4List=re.findall(re_mp4,html)
findall返回的是列表,列表里的元素就是视频的地址了,比如下面就是一个视频地址:             http://mov.bn.netease.com/mobilev/2011/9/8/V/S7CTIQ98V.mp4 
视频的地址抓取下来后,利用模块urllib里的urlretrieve()方法通过视频地址将视频下载下来:   urllib.urlretrieve(mp4url),mp4url是mp4List里的元素。另外还可以给下载下来的视频命名:urllib.urlretrieve(mp4url,"%s.mp4" %filename),这个filename是个变量,当下载完一个视频后,它就加1,这样所有视频被命名为1.mp4,2.mp4,3.mp4...........
为了便于查看下载进度,可以在urllib.urlretrieve(mp4url,"%s.mp4" %filename)后面加一句:
print  'file "%s.mp4" done' %filename,这样下载完一个视频后就会输出一行提示
运行效果如下:
代码如下:(python2.6)
[python] view plaincopy
  1. #!/usr/bin/python
  2. import re
  3. import urllib
  4. def getHtml(url):
  5. page=urllib.urlopen(url)
  6. html=page.read()
  7. return html
  8. def getMp4(html):
  9. r=r"href='(http.*\.mp4)'"
  10. re_mp4=re.compile(r)
  11. mp4List=re.findall(re_mp4,html)
  12. filename=1
  13. for mp4url in mp4List:
  14. urllib.urlretrieve(mp4url,"%s.mp4" %filename)
  15. print  'file "%s.mp4" done' %filename
  16. filename+=1
  17. url=raw_input("please input the source url:")
  18. html=getHtml(url)
  19. getMp4(html)

python_抓取网页视频相关推荐

  1. python抓取网页视频

    在 Python 中抓取网页视频可以使用第三方库来实现,比如说使用 requests 库来发起 HTTP 请求,再使用 BeautifulSoup 库来解析 HTML 文档,最后使用 ffmpeg 库 ...

  2. idm抓取网页视频原理 idm抓取网页视频后怎么提取

    对于网页视频的下载,我们可以使用windows端多线程下载工具--Internet Download Manager,通过Internet Download Manager我们可以直接抓取网页视频,i ...

  3. 配置猫抓,抓取网页视频

    将下载的插件进行解压,可以看到里面的 xxxx.crx 文件 然后打开浏览器,再地址栏输入 chrome://extensions/,如果是Edge浏览器则输入 edge://extensions/ ...

  4. python爬网页数据用什么_初学者如何用“python爬虫”技术抓取网页数据?

    原标题:初学者如何用"python爬虫"技术抓取网页数据? 在当今社会,互联网上充斥着许多有用的数据.我们只需要耐心观察并添加一些技术手段即可获得大量有价值的数据.而这里的&quo ...

  5. [转]网络爬虫(一):抓取网页的含义和URL基本构成

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

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

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

  7. php 采集邮箱,采集邮箱的php代码(抓取网页中的邮箱地址)

    采集邮箱的php代码(抓取网页中的邮箱地址) 复制代码 代码如下: $url='http://www.jb51.net'; //这个网页里绝对含有邮件地址. $content=file_get_con ...

  8. 无法抓取的视频,暴力破解之路

    一.经历 1.末年末月末日在一个夜黑风高的夜晚,脑袋一热在网上花了大价钱买了某某的一个培训课程.开始时候该平台还没有对用户进行时间限制,突然某天在网页上显示剩余100天,然后一下子慌了,时间.时间.时 ...

  9. .NET2.0抓取网页全部链接【月儿原创】

    .NET2.0抓取网页全部链接 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.18 该方法经过对各大门户网站测试结果是抓取 ...

最新文章

  1. bert速度提升fastbert
  2. 编译原理扫描程序,判断当前输入的程序中程序调用的函数是那个函数原型
  3. 第二课unit2 控制对文件的访问
  4. ajax请求的步骤,ajax请求的五个步骤
  5. Self Organizing Maps (SOM): 一种基于神经网络的聚类算法
  6. Ibatis学习总结7--SqlMapClient 执行 SQL 语句
  7. c 服务器文件是存在,客户端服务器在较大的文件的c文件传输问题
  8. skywalking链路追踪在微服务架构中的使用
  9. 9大训练营免费开营!阿里云大数据团队的独门绝学全在这了
  10. JS实现css属性动画效果
  11. 2017-2018-1 20155313 《信息安全系统设计基础》第五周学习总结
  12. 转载--数据库sql取整操作
  13. IEnumerable和IEnumerator
  14. Hadoop 删除节点步骤
  15. java--分布式ID生成器
  16. 单片机学习05_单片机软件架构
  17. 统计通话次数和时间的软件_通话时间统计器下载-通话时间统计 安卓版v2.6-PC6安卓网...
  18. CompoundButton调用setChecked多次触发onCheckedChanged
  19. iPhone iPad 设备型号对应表
  20. 关于跳转页面报404、500错误设置自定义图片和文字

热门文章

  1. 计算机分区分用户管理设置,电脑硬盘分区方法
  2. 利用Python快速进行数据探查
  3. 电子计算机工程专业介绍,电子与计算机工程专业介绍
  4. iOS开发技术之应用代码注入防护
  5. 计算机导师制工作手册模板,全员育人导师制工作手册
  6. C# 调用outlook发送邮件
  7. Dundas图表控件中MSAS HTTP访问方式及权限的问题
  8. [每周一更]-(第16期): IOPS的介绍说明
  9. 快速将Win7默认字体还原的方法
  10. 将Pdf文件转换为Word