爬取视频网站的视频URL

  • 前言
    • 第一步、安装Python(2.7.13 64位)
    • 第二步、安装Python的扩展包pypcapy==1.1.2
    • 第三步、安装Python的扩展包dpkt(这个没什么特别的,直接装就可以。)
    • 第四步、运行以下代码,并打开浏览器观看视频。
    • 第五步、打开浏览器开发者network,可观察到我们的程序已经抓取到视频的url

前言

最近工作需要爬取视频URL,本人在网上找了很多资料,最终绕了很大一个弯子才搞定,写此博客供自己以后查看,或提供给有此需求的程序员来参考。我们平常在网页上看电影的时候,我们的浏览器会每过一小会加载一小段视频,这样连续起来我们就可以看到一个完整的视频。言外之意就是视频网站都会将视频分割之后再传送给客户端,所以我们通过在网卡上抓包的方法就能抓取到向视频网站发送的HTTP请求包,从数据包提取向视频网站发送的url,最后我们把每一小片段的视频url拼起来,我们就可以得到完整的视频。

第一步、安装Python(2.7.13 64位)

python的下载地址:https://www.python.org/downloads/windows/

python安装步骤我就不说了,是个人应该都会。

第二步、安装Python的扩展包pypcapy==1.1.2

这里本人已经试过了,最新的版本是有问题的,最好使用旧一点的版本。

  1. pip install pypcap==1.1.2 安装时会出现以下问题,会提示没有安装vc++ 9.0。
  2. 微软给python2提供了vc++库,但是没有提供python3的,这也是为什么我们选择python2的原因,下载VCForPython27.msi
    下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=44266
    下载完成后直接点击下一步安装就可以了。
  3. VC++安装完成之后,pip install pypcap==1.1.2,这时我们会遇到一个新的错误,说找不到pcap.h,这时我们需要下载winpcap的开发包。
    Winpcap开发者版本下载地址:http://www.winpcap.org/devel.htm
  4. winpcap下载完之后,接下来的两步很关键,一定仔细阅读(前两步是安装python另一个扩展包pcapy必须的过程,安装pypcap前两步可省略)。
    • 解压winpcap的开发包,把include和lib目录里面的文件放到VC的同名目录里面(我的 VCForPython27默认安装目录C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC)
    • 注意事项:如果是用的64位的python,还得把winpcap开发包中Lib目录中的x64目录里面的两个lib文件放到vc的lib目录中的amd64目录中。(将WpdPcak>Lib>x64目录中的Packet.lib与wpcap.lib文件拷贝到C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\lib\amd64目录中)
    • 找到python的安装目录然后将include放到python的include目录,然后将Lib放到python的lib目录
  5. 接下来继续安装显示安装成功!如果你是下载的压缩包 python setup.py install 安装的方式,在安装成功之后,找到这个包的路径,将pypcap的包的位置添加到环境变量中。

  6. 安装成功之后呢,我们进入python模式试一下吧。本以为大功告成,结果还是有错误,显示找不到DLL,这时我们需要安装WinPcap,我们刚才使用了WinPcap开发包,还没有安装WinPcap工具。
    WinPcap下载地址:https://www.winpcap.org/install/
  7. 安装WinPcap之后,终于结束!在此辛苦,本人因在网上找不到全的资料,百度出来的都是一些乱七八遭的,装这个装到晚上2点才睡觉。。。

第三步、安装Python的扩展包dpkt(这个没什么特别的,直接装就可以。)

第四步、运行以下代码,并打开浏览器观看视频。

  • 以下代码作者已试验过,只能抓取http请求,我们打开美剧鸟观看视频,美剧鸟网站都是http请求。
#encoding: utf8
import pcap
import dpkt
import repc=pcap.pcap()    #注,参数可为网卡名,如eth0, 设置监听过滤器 HTTP请求的TCP头为GET 或者 HTTP, pc.setfilter('tcp[20:2]=0x4745 or tcp[20:2]=0x4854')
pc.setfilter('tcp port 80')    print u"程序开始运行"while True:for ptime,pdata in pc:                                      #ptime为收到时间,pdata为收到数据try:p=dpkt.ethernet.Ethernet(pdata)                     #对抓到的以太网V2数据包(raw packet)进行解包except Exception, e:continueif p.data.__class__.__name__=='IP':if p.data.data.__class__.__name__=='TCP':           #  if p.data.data.dport==80:header = p.data.data.data                       #  抓到的请求头, 默认按照抓到正常的请求头来解析,如果解析报错则舍弃,继续抓包try:headerArr = header.split('\r\n')url = headerArr[0].split(' ')[1]host = headerArr[1].split(' ')[1]requestUrl = host + urldomain_regex = r'^([a-zA-Z0-9]([a-zA-Z0-9-_]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,11}[/].*'result = re.search(domain_regex, requestUrl)if result:print requestUrl# print requestUrlexcept Exception, e:continue

第五步、打开浏览器开发者network,可观察到我们的程序已经抓取到视频的url


Python使用pypcap扩展包,抓取视频网站的视频URL相关推荐

  1. 用php实现抓取电影网站的视频下载地址

    用php写了一个爬虫在视频网站上进行视频下载地址的抓取,半个多小时,大约抓取了3万多条ftp地址数据,效果还是可以的.这里总结一下抓取过程中遇到的问题 1:通过访问浏览器来执行php脚本这种访问方式其 ...

  2. 用php实现一个简单的爬虫,抓取电影网站的视频下载地址

    昨天没什么事,先看一下电影,就用php写了一个爬虫在视频网站上进行视频下载地址的抓取,这里总结一下抓取过程中遇到的问题 1:通过访问浏览器来执行php脚本这种访问方式其实并不适合用来爬网页,因为要受到 ...

  3. python判断成语_python正则表达式抓取成语网站

    #anthor jiqunpeng #time 20121124 import urllib import re def gethtml(url): #从url中读取html内容 page = url ...

  4. 梦幻西游python验证成语_python正则表达式抓取成语网站

    #anthor jiqunpeng #time 20121124 import urllib import re def getHtml(url): #从URL中读取html内容 page = url ...

  5. Go爬虫colly官方示例二十一【shopify_sitemap】- 使用XPath请求抓取shopify网站地图里url

    文章目录 示例介绍 示例代码 名词解释 Sitemap 简介 XPath 输出 转载请标明出处: http://blog.csdn.net/qq_27818541/article/details/11 ...

  6. 资深程序员教你,用python入门的知识抓取抖音短视频,太厉害了

    抖音短视频可以说是当下最流行的自媒体平台,而python编程同样也是目前最流行的编程语言. 今天,就让一位大厂的资深程序员,用最简单的方式,使用python抓取抖音短视频. 到时候我会把所有的源代码都 ...

  7. [Python爬虫] 四、数据抓取之HTTP/HTTPS抓包工具Fiddler

    往期内容提要: [Python爬虫] 一.爬虫原理之HTTP和HTTPS的请求与响应 [Python爬虫] 二.爬虫原理之定义.分类.流程与编码格式 [Python爬虫] 三.数据抓取之Request ...

  8. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  9. Python爬虫 | 斗图网表情包抓取

    Python爬虫 | 斗图网表情包抓取 1.数据来源分析 2.制作div_list 3.发起请求 4.保存图片 5.批量获取 6.完整代码 声明 1.数据来源分析   打开斗图吧的主页,发现网址非常有 ...

最新文章

  1. VMWARE虚拟机安装系统提示CPU已被客户机操作系统禁用和secureCUT乱码
  2. 彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题
  3. 网站应分析哪些方面来提升网站优化的效果呢?
  4. 【算法】 - 滑动窗口
  5. python几何拼贴画_图形几何图形拼贴画
  6. linux系统最大打开文件数(/etc/security/limits.conf:待更新其他设置)
  7. Z-Stack Home Developer's Guide—6. Clusters, Commands and Attributes中文翻译【Z-Stack Home 1.2.0的开发文档】
  8. 信息学奥赛一本通 1203:扩号匹配问题 | OpenJudge 2.2 2705:扩号匹配问题
  9. FG60B SSL ××× V3.0配置
  10. C语言实验报告册-20163a,c语言实验报告册-20163a.doc
  11. Windows8-ConsumerPreview 虚拟机安装与体验
  12. Halcon软件和license下载
  13. 用md5值识别相似图片 python
  14. threejs的shader材质 颜色混合函数mix
  15. jpg如何缩小kb?jpg图片压缩怎么弄?
  16. STM32CubeIDE 遇到的问题
  17. Android UI 字体库(.ttf文件)的使用 -- xml方式
  18. 计算机玩游戏 突然黑屏 又亮了,显示器黑一下又亮了怎么回事?解决显示器黑屏一会又亮一会又黑...
  19. python股票量化分析_python实战之股票交易量化分析
  20. jda 沃尔玛_如何通过沃尔玛应用程序的“储蓄守望者”省钱

热门文章

  1. 夜光带你走进 C语言(六十五)
  2. 即将入职阿里,求骚气花名 | 每日趣闻
  3. [gdc13]《刺客信条3》渲染技术
  4. V2X 相关的3GPP标准规范
  5. docker镜像创建及使用
  6. GN-Group Normalization
  7. 中美合作|教育部认可|免统考|中文授课的上国会金融EMBA
  8. 视频理解 S3D,I3D-GCN,SlowFastNet, LFB
  9. 平均移动(moving average)算法
  10. tf.keras.activations.elu(五)