Python爬虫:爬取美拍小姐姐视频
最近在写一个应用,需要收集微博上一些热门的视频,像这些小视频一般都来自秒拍,微拍,美拍和新浪视频,而且没有下载的选项,所以只能动脑想想办法了。
第一步
分析网页源码。 例如:http://video.weibo.com/show?fid=1034:0988e59a12e5178acb7f23adc3fe5e97,右键查看源码,一般视频都是mp4后缀,搜索发现没有,但是有的直接就能看到了比如美拍的视频。
第二步
抓包,分析请求和返回。这个也可以通过强大的chrome实现,还是上面的例子,右键->审查元素->NetWork,然后F5刷新网页
发现有很多请求,只能一条一条的分析了,其实视频格式就是那几种mp4,flv,avi了,一下就能看到了,复制到浏览器中打开,果然就是我们想要的下载链接了。
第三步
分析下载链接和视频链接的规律。即http://video.weibo.com/show?fid=1034:0988e59a12e5178acb7f23adc3fe5e97与xxx.mp4的关系。这个又需要分析网页源码了,其实可以注意上面那个以.m3u8后缀的链接,m3u8记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放,打开看,里面确实记录着我们想要的下载链接。而且.m3u8后缀的链接就在网页源码中。
总结
经过前三步的分析,获取视频下载链接的思路就是先从网页源码中获取.m3u8后缀的链接,下载该文件,从里面得到视频下载链接,最后下载视频就好了
源码
#sinavideo.py #coding=utf-8 import os import re import urllib2 import urllib from common import Common class SinaVideo():URL_PIRFIX = "http://us.sinaimg.cn/"def getM3u8(self,html):reg = re.compile(r'list=([\s\S]*?)&fid')result = reg.findall(html)return result[0]def getName(self,url):return url.split('=')[1]def getSinavideoUrl(self,filepath):f = open(filepath,'r')lines = f.readlines()f.close()for line in lines:if line[0] !='#':return linedef download(self,url,filepath):#获取名称name = self.getName(url)html = Common.getHtml(url)m3u8 = self.getM3u8(html)Common.download(urllib.unquote(m3u8),filepath,name + '.m3u8')url = self.URL_PIRFIX + self.getSinavideoUrl(filepath+name+'.m3u8')Common.download(url,filepath,name+'.mp4')
#common.py #coding=utf-8 import urllib2 import os import reclass Common():# 获取网页源码 @staticmethoddef getHtml(url):html = urllib2.urlopen(url).read()print "[+]获取网页源码:"+urlreturn html# 下载文件 @staticmethoddef download(url,filepath,filename):headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Charset': 'UTF-8,*;q=0.5','Accept-Encoding': 'gzip,deflate,sdch','Accept-Language': 'en-US,en;q=0.8','User-Agent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36'}request = urllib2.Request(url,headers = headers);response = urllib2.urlopen(request)path = filepath + filenamewith open(path,'wb') as output:while True:buffer = response.read(1024*256);if not buffer:break# received += len(buffer) output.write(buffer)print "[+]下载文件成功:"+path@staticmethoddef isExist(filepath):return os.path.exists(filepath)@staticmethoddef createDir(filepath):os.makedirs(filepath,0777)
调用方式:
url = "http://video.weibo.com/show?fid=1034:0988e59a12e5178acb7f23adc3fe5e97" sinavideo = SinaVideo() sinavideo.download(url,""/Users/cheng/Documents/PyScript/res/"")
结果
转载于:https://www.cnblogs.com/hahaa/p/9674807.html
Python爬虫:爬取美拍小姐姐视频相关推荐
- python爬虫爬取美丽小姐姐图片美女壁纸
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
- python爬虫 爬取清纯小姐姐图片
文章目录 1 思路介绍 2 完整代码 2 代码介绍 2.1 获取网站 2.3 创建目录 2.4 找到首图的名称和地址 2.5 实现同一个人的翻页 2.6 实现每一位小姐姐图片的连接 2.7 爬取图片 ...
- 使用python爬虫爬取秒懂百科的视频
仅供学习交流使用,如有侵权,联系删除. python 爬虫抓取百度百科视频源代码 from urllib.parse import quote from bs4 import BeautifulSou ...
- Python爬虫爬取网站小漫画
python爬取小漫画 最近在google冲浪的时候发现一个很有意思的漫画网站,可以看韩国的小漫画,但是只可以看很少的一部分,后面的需要付费观看,于是就想着怎么才能免费看到这个网站的所有漫画. 于是我 ...
- 爬虫爬取斗鱼小姐姐直播间的封面
# -*- coding: utf-8 -*- """ Created on Wed Jun 23 21:58:40 2021@author: xfw "&qu ...
- python爬虫爬取校花网视频
import re import requests import hashlib import time# respose=requests.get('http://www.xiaohuar.com/ ...
- Python爬虫 | 爬取高质量小姐姐照片
Python爬虫 | 爬取高质量小姐姐照片 1.数据来源分析 2.获取author_id_list和img_id 3.制作detial 4.制作detial_list 5.数据保存 6.批量获取 7. ...
- Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中
Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中 1.需要的Python模块 主要是requests模块,用于得到的网页的数据 安装命令为:pip install requests 2 ...
- python爬取“百度小姐姐”
欢迎加入我们卧虎藏龙的python讨论qq群:996113038 最近经常推一些游戏类的推文 发现这些推文的阅读量不是很高 我算明白了 写推文不趁妹子是没人看的 想到自己好久没有发过爬虫了. 今天就给 ...
最新文章
- Twitter Storm常见模式
- Android JNI开发摘录(四)之JNI异常处理
- Android Studio开发基础之Service
- Heroku运行Java
- 我可以做些什么来提高应用程序的可用性?
- 52 -算法 -数据结构类 Leetcode26 删除有序数组中的重复项
- html轮播图向左改为向下,jQuery之轮播图向左滚动动画【原创】
- 上传multipart文件
- R语言学习笔记:路径设置与安装包
- 通用的电子商务商城后台管理界面模板——后台
- Windows 语音引擎TTS修复
- Js中var,let,const的区别
- 老毛桃winpe官网
- Unity中使用TexturePacke打包的图集
- Unity中的设备唯一码GAID、IDFA,用于广告跟踪和数据统计
- 我使用过的拼音输入法
- 由电源IC芯片管理的,通过电感实现DC-DC升压电路详解
- 独立成分分析ICA/FastICA
- 第一届世界区块链大会·三点钟峰会(W.B.C)在澳门开幕 万人峰会大咖云集明星嘉年华
- C# 中获取时间戳的方法