广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python爬取梨视频生活板块最热视频
  • 722
分享到

python爬取梨视频生活板块最热视频

2024-04-02 19:04:59 722人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

完整代码如下: import requests from lxml import etree import random import os from multiprocess

完整代码如下:


import requests
from lxml import etree
import random
import os
from multiprocessing.dummy import Pool
 
 
if not os.path.exists('./视频'):
  os.mkdir('./视频')
 
urls=[]
url='https://www.pearvideo.com/cateGory_5'
headers={'user-agent':'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWEBKit/537.36 (Khtml, like Gecko) Chrome/89.0.4389.72 Safari/537.36 Edg/89.0.774.45'}
 
page_text=requests.get(url=url,headers=headers).text
tree=etree.HTML(page_text)
 
li_list=tree.xpath('//ul[@id="listvideoListUl"]/li')
 
for li in li_list:
  a_url='Https://www.pearvideo.com/'+li.xpath('./div/a/@href')[0]
  name=li.xpath('./div/a/div[2]/text()')[0]+'.mp4'
 
  mrd=random.random()
  code=li.xpath('./div/a/@href')[0][-7:]  
  new_headers={'Referer': a_url,
         'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50'
         }
  new_url='https://www.pearvideo.com/videoStatus.jsp?contId='+str(code)+'&mrd='+str(mrd)
 
  r=requests.get(url=new_url,headers=new_headers) 
  video_url=eval(r.text)['videoInfo']['videos']['srcUrl']
 
    
  old=video_url.split('/')[-1].split('-')[0]  
  new='cont-'+str(code)
  true_video_url=video_url.replace(old,new)
 
 
  dic={'name':name,
     'my_url':true_video_url}
  urls.append(dic)
  
  
#使用线程池对数据视频进行请求
def get_video_data(dic):
  print(dic['name']+'开始下载'+'\n')
  data_url=dic['my_url']
  data=requests.get(url=data_url,headers=headers).content
  with open('./视频/'+dic['name'],'wb') as f:
    f.write(data)
    print(dic['name']+'下载成功')
  
pool=Pool(4)
pool.map(get_video_data,urls)
 
pool.close()
pool.join()

说明:

当前日期(2021/3/14)版本的梨视频的视频伪url由ajax获取。

部分代码解释:

1:模块


import requests                #网路爬虫标准库(代替urllib)
from lxml import etree            #用于解析页面信息
import random                 #梨视频的url中有一段需要随机数
import os                   #主要用于生成文件夹存放视频
from multiprocessing.dummy import Pool    #导入线程池对应类

2:获取视频伪url


#参数准备
mrd=random.random()
code=li.xpath('./div/a/@href')[0][-7:]  
new_headers={
'Referer': a_url,
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36     (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50'
      }
 
#获取url
new_url='https://www.pearvideo.com/videoStatus.jsp?contId='+str(code)+'&mrd='+str(mrd)
r=requests.get(url=new_url,headers=new_headers) 
video_url=eval(r.text)['videoInfo']['videos']['srcUrl']

3:获取真正url

经本人实验,使用上文获得的url爬取视频下载内容为空。

由于本人也是菜鸟,所以百思不得其解,恰巧看到B站用户”_千户”的留言才得知真伪url的差异:

此处视频地址做了加密即ajax中得到的地址需要加上cont-,并且修改一段数字为id才是真地址
真地址:"https://video.pearvideo.com/mp4/third/20201120/cont-1708144-10305425-222728-hd.mp4"
伪地址:"https://video.pearvideo.com/mp4/third/20201120/1606132035863-10305425-222728-hd.mp4"


#仅需要做几个简单的截取切片操作就可以替换相关内容
 
old=video_url.split('/')[-1].split('-')[0]  
new='cont-'+str(code)
true_video_url=video_url.replace(old,new)

4:存储


#使用线程池对数据视频进行请求
def get_video_data(dic):
  print(dic['name']+'开始下载'+'\n')
  data_url=dic['my_url']
  data=requests.get(url=data_url,headers=headers).content
  with open('./视频/'+dic['name'],'wb') as f:
    f.write(data)
    print(dic['name']+'下载成功')
  
pool=Pool(4)
pool.map(get_video_data,urls)
 
pool.close()
pool.join()

5:结果

到此这篇关于python爬取梨视频生活板块最热视频的文章就介绍到这了,更多相关Python爬取梨视频内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python爬取梨视频生活板块最热视频

本文链接: https://www.lsjlt.com/news/121673.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python爬取梨视频生活板块最热视频
    完整代码如下: import requests from lxml import etree import random import os from multiprocess...
    99+
    2022-11-11
  • Python爬虫爬取各大热门短视频平台视频
    1、开发工具 Python3.9 requests库 其他一些Python内置库 pycharm 2、第三方库 安装第三方库 pip install requests 3、实现思路 利用tkinter库实例化一个GUI界面,包含提示框...
    99+
    2023-09-10
    python 爬虫
  • Python+Selenium实现短视频热点爬取
    目录涉及知识点目标分析1. 分析热榜目录2.分析视频播放页面3. 分析弹出框核心代码1. 遍历热点目录2. 获取真实短视频url3. 下载视频4. 关闭弹出的登录窗口5. 保存日志示...
    99+
    2022-11-10
  • Python+Selenium怎么实现短视频热点爬取
    本篇内容介绍了“Python+Selenium怎么实现短视频热点爬取”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!涉及知识点selenium...
    99+
    2023-06-30
  • Python爬虫之爬取哔哩哔哩热门视频排行榜
    目录一、bs4解析二、xpath解析三、xpath解析(二值化处理后展示图片)四、分析过程一、bs4解析 import requests from bs4 import Beau...
    99+
    2022-11-12
  • python怎么利用第三方库爬取热门视频和音乐
    本篇内容介绍了“python怎么利用第三方库爬取热门视频和音乐”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言安装pippip3 ...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作