当前位置: 首页 > news >正文

爬虫常用模板

        这里记录的是我学习爬虫自己用到的一些东西,方便以后打开直接使用。我会不定期的往里面添加内容。 

爬虫工具库-spidertools.cn

协程

        模板1(通过loop):

async def download()passasync def main():# 创建任务队列tasks = []for..........{     # 使用for循环调用其它异步函数,添加到任务队列中asks.append(asyncio.create_task(download()))}# 打包提交队列await asyncio.gather(*tasks)if __name__ == '__main__':# 创建looploop = asyncio.get_event_loop()# 通过loop执行异步函数loop.run_until_complete(main())

         模板2(通过asyncio):

async def download()passasync def main():# 创建任务队列tasks = []for..........{     # 使用for循环调用其它异步函数,添加到任务队列中asks.append(asyncio.create_task(download()))}# 等待任务结束await asyncio.wait(tasks)if __name__ == '__main__':asyncio.run(main()) 

python运行js模板

import execjs# 打开本地js文件,读取文件内容后通过execjs.compile函数将其转换成js代码暂存在ctx中
with open('baidu.js', 'r', encoding='utf-8') as f:ctx = execjs.compile(f.read())# 使用 ctx.call 函数来调用JS代码中的函数
# 第一个参数:想要调用的js中的函数
# 第二个参数:传入的值
res = ctx.call('hello', lis)

ffmpeg视频合成

        在爬取视频的时候通常是通过m3u8来获取到视频的ts切片,需要把他们全部合成为一个视频切片。

def concat():video = 'output.mp4'    # 视频输出地址ts_locat = './视频切片'      # ts文件路径 # 获取所有的 .ts 文件ts_files = [f for f in os.listdir(ts_locat) if f.endswith('.ts')]ts_files.sort()  # 排序以确保正确的顺序# 将排序好的ts文件目录按行依次写入到一个txt文本中with open('concat_list.txt', 'w', encoding='utf-8') as f:for ts_file in ts_files:f.write(f"file '{ts_locat+ '/' +ts_file}'\n")# 使用 ffmpeg 读取文本中的ts文件目录地址,按顺序拼接所有的 .ts 文件ffmpeg.input('concat_list.txt', format='concat', safe=0).output(video, c='copy').run()


http://www.mrgr.cn/news/16959.html

相关文章:

  • 足浴城消费系统小程序的设计
  • Python知识点:如何使用Coverage进行代码覆盖率分析
  • 中国文化艺术孙溟展浅析《绛帖》
  • 音视频开发之旅(90)-Vision Transformer论文解读与源码分析
  • 文心快码前端工程师观点分享:人机协同新模式的探索之路(一)
  • 设计模式之中介者模式
  • 常用排序算法(上)
  • 0901python打印异常信息
  • iOS面试:在block内如何修改block外部变量?
  • 火绒安全与国际对手:全面对比与分析
  • PCL 基于八叉树的曲率下采样
  • asio之带缓冲区的流
  • OpenIPC开源IPC之重要源码包
  • 常使用的前端构建优化策略
  • 2024年Linux内核社区关于large folio的关键进展
  • PCL-直通滤波
  • 617. 合并二叉树
  • 【AI 绘画】更快?更省显存?支持 FLUX?使用绘世启动器安装 SD WebUI Forge
  • 【王树森】Few-Shot Learning小样本学习 (1/3): 基本概念(个人向笔记)
  • AutoGen 检索增强生成(RAG)功能解析