自动化爬取网易云视频,一个是获取网易云视频列表 一个是 获取视频真实播放地址

简介: 自动化爬取网易云视频,一个是获取网易云视频列表 一个是 获取视频真实播放地址
import datetime,logging
import asyncio
from pyppeteer import launch
from lxml import etree
async def getMvPlays(url):
    browser = await launch({'handleSIGINT':False,
'handleSIGTERM': False,
'handleSIGHUP': False,})
    page = await browser.newPage()
    await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36')
    await page.goto(url)
    frame = page.frames  # 获取所有的iframe
    iframe = frame[1]
    page_text = await iframe.content()
    tree = etree.HTML(page_text)
    mv_list = tree.xpath('//ul[@class="m-mvlist f-cb"]//h4/a/@href')

    await browser.close()
    return mv_list

url = "https://music.163.com/#/search/m/?s=华语&type=1014"
start_time = datetime.datetime.now()
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)

task = [asyncio.ensure_future(getMvPlays(url)) for i in range(1)]
# arr = loop.run_until_complete(asyncio.wait(task))
arr = loop.run_until_complete(getMvPlays(url))
mv_arr = []
for i in range(len(arr)):
    temp = {}
    temp["url"] = "https://music.163.com"+arr[i]
    temp["name"] = "wusen"
    temp["mv_img"] = "/static/image/girl.png"
    mv_arr.append(temp)

end_time = datetime.datetime.now()
logging.warning("执行时间:{}".format((end_time - start_time).seconds))

View Code

这里是为了记录一下容易报错的地方

错误一:

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
相关文章
|
7月前
|
弹性计算 持续交付 开发工具
【阿里云幻兽帕鲁全攻略】一分钟自动化部署教程,大咖视频讲解,游戏FAQ持续更新中
帕鲁攻略全集:从云服务器选购,到完成自动化部署,还有视频教程手把手教学,各类游戏FAQ持续更新中
|
7月前
|
Linux 开发工具 数据安全/隐私保护
Centos7:自动化配置vim | suoders信任列表添加普通用户
Centos7:自动化配置vim | suoders信任列表添加普通用户
65 0
|
7月前
|
BI Python
python报表自动化系列 - 获取某月日历并以列表形式返回(公历)
python报表自动化系列 - 获取某月日历并以列表形式返回(公历)
52 1
|
3月前
|
JSON 编解码 搜索推荐
使用Ruby进行视频内容的自动化分析
使用Ruby进行视频内容的自动化分析
|
7月前
|
传感器 存储 数据采集
LabVIEW通过视频识别开发布氏硬度机自动化测量系统
LabVIEW通过视频识别开发布氏硬度机自动化测量系统
49 4
|
7月前
|
存储 Shell 索引
Python 自动化指南(繁琐工作自动化)第二版:四、列表
Python 自动化指南(繁琐工作自动化)第二版:四、列表
94 0
|
数据可视化 Java 测试技术
功能自动化测试工具列表大全
功能自动化测试工具列表大全
158 0
|
运维 Ubuntu 应用服务中间件
【运维知识进阶篇】Ansible自动化运维-Ansible安装与主机列表
【运维知识进阶篇】Ansible自动化运维-Ansible安装与主机列表
219 0
|
SQL 安全 JavaScript
【数据库视频】自动化概述
【数据库视频】自动化概述
如何打造自己的burpsuite自动化武器库(视频版)
如何打造自己的burpsuite自动化武器库(视频版)
82 0