python几乎无所不能 只有你不知道的,如何通过Python玩转小视频
程序员文章站
2022-03-23 16:33:31
什么是爬虫? 就是抓取网页数据的程序 爬虫怎么抓取网页数据? 网页三大特征: 网页都有自己唯一的URL。 网页都是HTML来描述页面信息。 网页都使用http/https协议来传输HTML数据。 爬虫的设计思路: 获取视频ID 拼接完整url 获取视频播放地址 下载视频 模块使用 requests ......
什么是爬虫?
就是抓取网页数据的程序
爬虫怎么抓取网页数据?
网页三大特征:
- 网页都有自己唯一的URL。
- 网页都是HTML来描述页面信息。
- 网页都使用http/https协议来传输HTML数据。
爬虫的设计思路:
- 获取视频ID
- 拼接完整url
- 获取视频播放地址
- 下载视频
模块使用 requests
安装“pip install requests”
Requests库的七个主要方法
找到单个视频播放地址
获取网页源代码
获取播放地址
下载视频
完整代码
1 # -*- coding:utf-8 -*- 2 import requests 3 from lxml import etree 4 import re 5 from urllib.request import urlretrieve 6 #获取视频ID 7 #拼接完整url 8 #获取视频播放地址 9 #下载视频 10 #Python学习交流群:125240963,群内每天分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎各位小伙伴入群学习交流 11 12 def download(url): 13 #url = 'http://www.pearvideo.com/category_9' 14 #获取源代码 15 #html = requests.get(url) 16 html = requests.get(url).text 17 #把文本文件处理成可解释的对象 18 #如果我用正则可以不可以也可以 19 html = etree.HTML(html) 20 video_id = html.xpath('//div[@class="vervideo-bd"]/a/@href') 21 video_url = [] 22 starurl = 'http://www.pearvideo.com' 23 #完整拼接url 24 for id in video_id: 25 newurl = starurl + '/' + id 26 video_url.append(newurl) 27 #获取视频播放地址 28 for playurl in video_url: 29 #获取页面源代码 30 html = requests.get(playurl).text 31 #print(playurl) 32 req = 'srcUrl="(.*?)"' 33 #视频真正播放地址 34 purl = re.findall(req,html) 35 #print(purl) 36 #获取视频名称 37 req = '<h1 class="video-tt">(.*?)</h1>' 38 pname = re.findall(req,html) 39 print("正在下载:%s"%pname) 40 41 urlretrieve(purl[0],'./video/%s.mp4'%pname[0]) 42 #download() 43 44 def downloadmore(): 45 n = 12 46 while True: 47 if n > 48: 48 return 49 url = "http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=9&star=%d"%n 50 n+=12 51 download(url) 52 downloadmore()