requests爬取梨视频并保存到本地最简单的方法
程序员文章站
2022-05-30 16:29:03
...
import requests
from lxml import etree
import re
import os
from urllib.request import urlretrieve
url='https://www.pearvideo.com/category_9'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
res = requests.get(url,headers=headers)
html_doc = res.content.decode('utf-8')
tree = etree.HTML(html_doc)
movie = tree.xpath('//*[@id="categoryList"]/li/div/a/@href')
movie_1 = tree.xpath('//*[@id="categoryList"]/li/div/a/div[2]/text()')
for movie_url,movie_text in zip(movie,movie_1):
#拼接url
movie_url = 'https://www.pearvideo.com/'+movie_url
#获取每个url的网页text
movie_id_string = requests.get(movie_url,headers=headers).text
#获取视频里层播放mp4的url地址 []
movie_mp4_url = re.findall('sdflvUrl="",hdUrl="",sdUrl="",ldUrl="",srcUrl="(.*?)",vdoUrl=srcUrl',movie_id_string)
#url在[]列表里 没有遍历出来 所以用索引下标[0]
#第一种保存方法
mp4 = requests.get(movie_mp4_url[0]).content
with open('./movie/%s.mp4'%movie_text,'wb') as f:
f.write(mp4)
print("正在下载视频:%s"%movie_text)
# #第二种保存方法
# path='movie'
# #判断有没有这个路径,没有则创建
# if path not in os.listdir():
# os.mkdir(path)
# #路径+文件格式+文件名字
# filepath = path + '/%s.mp4'%movie_text[0]
# #下载:url地址,文件路径。
# urlretrieve(movie_mp4_url[0],filepath)
上一篇: npm install 失败 解决
下一篇: day06-mdadm-raid1管理