下载链接:http://www.pearvideo.com/category_1

import requests
from lxml import etree
import re
from urllib.request import urlretrieve'''
1 获取视频id
2 拼接完整url
3 获取完整视频播放地址
4 下载视频
'''def download_video(url):# url = 'http://www.pearvideo.com/category_1'response = requests.get(url)  # 返回状态码200,代表请求成功html = response.text# 把文本文件处理成可解析的对象html = etree.HTML(html)# 获取video idvideo_id = html.xpath("//div[@class='vervideo-bd']/a/@href")starturl = "http://www.pearvideo.com"# 视频播放url列表video_urls = []for i in video_id:newurl = starturl + '/' + ivideo_urls.append(newurl)for url in video_urls:html = requests.get(url).text# 获取视频播放真正地址# 定义播放地址的正则表达式模式# srcUrl = "http://video.pearvideo.com/mp4/adshort/20180720/cont-1393622-12502013_adpkg-ad_hd.mp4"req = 'srcUrl="(.*?)"'# 编译正则表达式字符串为对象,目的是提高效率, 可以不加req = re.compile(req)play_url = re.findall(req, html)  # 注意play_url的格式是list# 获取视频标题# 定义视频标题正则表达式模式# <h1 class="video-tt">闯大祸!金毛撞上兰博基尼,车损40万</h1>re_tag = '<h1 class="video-tt">(.*?)</h1>'tag = re.findall(re_tag, html)# 下载视频print("正在下载 %s"%tag[0])urlretrieve(play_url[0], "./video/{}.mp4".format(tag[0]))# print("下载完成 %s"%tag[0])# download_video()# 动态加载链接变化
# http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=12&mrd=0.8960730781029713&hotContIds=1394290,1394224,1394233
# http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=24&mrd=0.45490116190392094&hotContIds=1394290,1394224,1394233http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=24&mrd=0.45490116190392094&hotContIds=1394290,1394224,1394233
# http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=36&mrd=0.895263612547242&hotContIds=1394290,1394224,1394233
# &mrd 后面的东西可以不加# 动态加载下载
def download_more():n = 12while True:if n > 48:return   # 或者break跳出循环url = "http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start=%d"%ndownload_video(url)n += 12# sleep(10)

download_more()

F12打开开发者工具 -> NetWork -> 找到动态加载html项(category_loading开头)-> Headers -> Request URL

转载于:https://www.cnblogs.com/tanrong/p/9352926.html

Python 动态加载并下载梨视频短视频相关推荐

  1. python 动态加载与静态加载_python+django加载静态网页模板解析

    今天我们来看看Django是如何加载静态html的? 我们首先来看一看什么是静态HTML,什么是动态的HTML?二者有什么区别? 静态HTML指的是使用单纯的HTML或者结合CSS制作的包括图片.文字 ...

  2. python动态加载模块有什么用_人生苦短我用python(02)动态加载模块

    继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一致好评,经常问小普第二期什么时候出呀?好期待~ 来来来小普这就呈上第二期[02动态加载模块] 错过了第一期的小伙伴们可以点此穿越哦 ...

  3. python 动态加载与静态加载_python中的元类、静态方法、类方法,动态添加方法...

    首先介绍几个概念: 1.#所谓的静态方法就是这个方法任何类都可以调用,程序一加载就存在的方法 2.所谓的类方法就是这个类一加载就存在的方法,不用实例化这个类就已经存在的方法 3.所谓的元类就是创建类的 ...

  4. python动态加载py文件

    import importlib import sys import types# 判断是不是方法 def is_function(tup):""" Takes (nam ...

  5. Android动态加载dex文件/jar包的纯原生代码实现(dex文件由服务端下发)

    介绍原理的文章有很多,我就不再多说,直奔主题: 一.生成dex文件(源码下载地址:https://download.csdn.net/download/wanggangyanqing/18658862 ...

  6. Python爬虫——利用PhantomJS下载动态加载图片

    在浏览网页过程中,我们会遇到一些让人心动的图片,这时我们需要将它保存在本地.一般我们用BeautifulSoup可以解析静态网页,但很多时候我们遇到的都是动态加载的图片,无法再利用urllib模块操作 ...

  7. python 爬虫+selenium 全自动化下载JS动态加载漫画

    ** python 爬虫+selenium 全自动化下载JS动态加载漫画 最近刚学的python,代码可能并不规范,希望大家见谅! 爬取之前,我们首先需要做一些准备工作,因为很多网站都有反爬检索,为了 ...

  8. Python3 网络爬虫:漫画下载,动态加载、反爬虫这都不叫事

    一.前言 作者:Jack Cui 经过上两篇文章的学习,Python爬虫三步走:发起请求.解析数据.保存数据,已经掌握,算入门爬虫了吗? 不,还远远不够!只掌握这些,还只能算门外汉级别. 今天,就来带 ...

  9. python 爬虫 快看漫画整站爬取(解决动态加载漫画图片地址、漫画图片合成长图、图片文件排序等问题)

    运行结果: 这个是爬取的目标 爬取之后建立文件夹,合成长图之后删除文件夹 这里仅仅做几组演示, 由于合成的图片有单列长度限制,所有拆分成两列 开始: 首先打开网站,找到某个漫画,发现点鼠标右键不可以, ...

最新文章

  1. 网络营销推广解答网站排名上下摇摆不定怎么办?
  2. SMW0上传文件到数据库层详解
  3. java动态菜单显示实现,java – 为Spring MVC / AOP应用程序实现动态菜单
  4. Nginx开启Gzip压缩配置详解
  5. UCOS2_STM32移植详细过程(汇总)
  6. nginx虚拟域名配置
  7. htc 常见错误和解决方案
  8. 淘宝店铺装修如何实现全屏轮播
  9. 2022年PC必备的5款软件,功能强大且免费,你用过几个?
  10. html css js肝撸淘宝官网代码(淘宝web端官网页面+部分js功能实现)
  11. 详解DNS域名解析全过程
  12. 计算机计算资产分析表,财务指标计算器.xls
  13. recycle view设置item下划线
  14. win2008 r2折腾php7.1记录
  15. HashMap 容量为2次幂的原因
  16. 幼儿园计算机培训心得,幼儿教师培训心得体会
  17. 终于有人把云计算、大数据和人工智能讲明白了!
  18. mac虚拟机服务器设置u盘启动不了,手把手教你解决win7系统苹果电脑运行虚拟机后无法识别显示U盘的图文方案...
  19. 2021最新css3面试题理论,前端css面试题,移动端面试题理论。
  20. .shape()与.reshape()函数

热门文章

  1. win10关闭防火墙脚本.bat
  2. Android自定义IM聊天界面
  3. 【Kubernetes 企业项目实战】03、基于 Alertmanager 发送报警到多个接收方(下)
  4. 记一次UDP接入服务的性能测试
  5. Linux之文件/目录搜索
  6. android 加固作用,Android 应用安全 - 应用加固概念
  7. 转发:【论文精读】Human Semantic Parsing for Person Re-identification
  8. android 语音唤醒,录音并识别
  9. 集成微控制器使太阳能微型逆变器设计成本有效
  10. php汉字全是问号_PHP-PHP中文显示问号问题