根据上篇文章的思路,我用了监听网卡流量的方式来改进了我的程序。速度得到了大大的提升。
思路
下图是我用wireshark做的实验。把请求路径中带.mp4, .flv的请求留下来,得到的就是请求的视频资源了。

在wireshark的试验下,我确定了抓包这个方法是可以行得通了,我开始用python编写抓包代码。
我用python的pcap和dpkt这两个包来对网卡流量进行了分析。首先就是用pcap来对我的网卡进行监听,设置一下pcap的过滤器,只处理HTTP请求,因为视频的地址在HTTP请求中。我找到HTTP请求中地址中包含.flv的请求,就可以得到视频的url地址。
实验
代码较短,我就直接贴上代码了。pcap,dpkt的使用我是参考的这篇文章,但是这篇文章应该也是复制别人的,我当初搜的时候找到一篇更好的,但是最后写文章的时候没办法找到那篇更好的了,只能贴上这篇不那么好的了。
当然代码也会放到我的Github上,哈哈~
#encoding: utf8
import pcap
import dpkt
pc=pcap.pcap('eth1')


2万+

被折叠的 条评论
为什么被折叠?



