爬虫——爬取梨视频
时间:2020-09-16
本文章向大家介绍爬虫——爬取梨视频,主要包括爬虫——爬取梨视频使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import requests # 导入爬虫模块
import re # 导入正则模块
import os # 导入文件操作模块
a = 1 # 主程序判断结束的锚
start = 0 # 记录爬取位置
# 主程序循环
while a:
v = [] # 存放视频地址
# 拼接地址,爬取网页内容
url = 'https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=' + str(start)
res = requests.get(url = url)
# 使用正则获取视频名称
vnz = '<div class="vervideo-title">(.*?)</div>'
vn = re.findall(vnz,res.text)
# 使用正则获取HTML中的视频超链接
vz = '<a href="(.*?)" class="vervideo-lilink actplay">'
vu = re.findall(vz,res.text)
for i in vu:
# 循环取出视频超链接,拼接并爬取网页内容
vurl = 'https://www.pearvideo.com/' + i
res1 = requests.get(url = vurl)
# 找到网页中的视频地址,使用正则取出并存入视频列表(v)中
vz2 = 'srcUrl="(.*?)"'
vurl1 = re.findall(vz2,res1.text)
v.append(vurl1[0])
for i in range(len(v)):
# 循环取出视频名称并拼接成文件路径
add = os.path.join('D:\梨视频', vn[i]) + '.mp4'
with open(add,'wb') as f:
# 循环取出视频地址然后获取视频数据,并用数据流存入文件中
for line in requests.get(v[i]).iter_content():
f.write(line)
# 判断视频文件中的视频地址数量是否为12个
# 是:继续循环 否:结束循环
if len(v) == 12:
start = int(start) + 12
else:
print("结束")
a = None
原文地址:https://www.cnblogs.com/shof/p/13680126.html
- SpringBoot常用配置
- Json格式String类型字符串转为Map工具类
- spring boot thymeleaf常用方式
- Java工具类- 跨域工具类
- python语言中的AOP利器:装饰器
- 如何使用supervisor管理你的应用
- Manjaro安装配置
- [Golang软件推荐] Frp内网穿透
- [Golang软件推荐] Golang通用连接池
- RxJS -- Subscription
- ASP.Net Core项目在Mac上使用Entity Framework Core 2.0进行迁移可能会遇到的一个问题.
- RxJS速成 (下)
- RxJS速成 (上)
- Typescript 查缺补漏
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 假期结束了,撸一篇技术和大伙分享下吧!
- Android AIDL实现跨进程通信的示例代码
- Android中SharedPreferences简单使用实例
- 功能强大的Android滚动控件RecyclerView
- Android使用 Retrofit 2.X 上传多文件和多表单示例
- Android状态栏白底黑字的示例代码
- Android使用ViewPager实现顶部tabbar切换界面
- Android 中ScrollView与ListView冲突问题的解决办法
- Android数据库操作工具类分享
- Android使用RadioGroup实现底部导航栏
- Android 中Fragment与Activity通讯的详解
- Android常用控件ImageSwitcher使用方法详解
- Android实现阅读进度记忆功能
- Android 控制ScrollView滚动的实例详解
- Android 判断是否能真正上网的实例详解