首页 > 其他分享 >滚动刷新式网页的爬取方式

滚动刷新式网页的爬取方式

时间:2023-07-22 10:56:36浏览次数:39  
标签:滚动 url import cont headers video 刷新 网页 id

from lxml import etree
import re
import requests
import os
import time
from fake_useragent import UserAgent


# 滚动式刷新的爬取方法
base_url = 'https://www.pearvideo.com/'
for page in range(1, 4):
    new_page = (page - 1) * 24
    url = f'https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=1&start={new_page}'
    headers = {'user-agent': UserAgent().random}
    res = requests.get(url=url, headers=headers)
    html = res.text
    e = etree.HTML(html)
    href = e.xpath('//a[@class="vervideo-lilink actplay"]/@href')
    for video_id in href:
        cont_id = video_id.split('_')[-1]
        status_url = f'https://www.pearvideo.com/videoStatus.jsp?contId={cont_id}'
        # 添加来源
        headers['referer'] = base_url + video_id
        res = requests.get(url=status_url, headers=headers)
        data = res.json()
        video_url = data['videoInfo']['videos']['srcUrl']
        video_url = video_url.replace(data['systemTime'], 'cont-' + cont_id)
        video_res = requests.get(url=video_url, headers=headers)
        video_data = video_res.content
        with open(f'./video/{cont_id}.mp4', 'wb') as f:
            f.write(video_data)
        print(f'{cont_id}下载完成')
        time.sleep(100)

标签:滚动,url,import,cont,headers,video,刷新,网页,id
From: https://www.cnblogs.com/hacker-dvd/p/17572972.html

相关文章

  • 解决element UI中el_table的合计栏在滚动条下方问题
       代码参考:<style>.itemTrading.el-table{overflow:auto;}.itemTrading.el-table__body-wrapper,.itemTrading.el-table__header-wrapper,.itemTrading.el-table__footer-wrapper{overflow:visible;}.itemTrading.el-table::after{pos......
  • HyperSnap 7进行网页截图
    1、下载最新版本HyperSnap7。(5.x的不支持) 2、打开浏览器并选择需要截图的网页 3、打开HyperSnap选择捕捉-滚动页面,此时浏览器窗口显示出来,可以看到一黑框在页面中一闪一闪。 4、点击鼠标左键、完成网页截图。......
  • jquery鼠标滚动下拉
    实现jQuery鼠标滚动下拉作为一名经验丰富的开发者,我将向你展示如何使用jQuery实现鼠标滚动下拉效果。首先,我们来整理一下实现这个功能的流程。步骤描述1引入jQuery库2监听鼠标滚动事件3获取页面滚动的位置4判断滚动方向5执行下拉操作现在让我们一......
  • vue强制刷新方法
    一、强制全局刷新方法location.reload();二、强制局部刷新方法<divid="app"><router-viewv-if="isReload"/></div>methods:{reload(){this.isReload=falsethis.$nextTick(()=>{this.isReload=tru......
  • 使用本地iconfont 网页显示Android不显示
    使用本地iconfont网页显示Android不显示的解决方法1.流程概述下面是解决"使用本地iconfont网页显示Android不显示"的整个流程。可以使用以下表格展示步骤:步骤描述1引入iconfont资源文件2在HTML文件中引入iconfontCSS样式3设置文本的字体样式为iconfont......
  • 抓取网页图片上的文字javascript
    抓取网页图片上的文字流程以下是实现“抓取网页图片上的文字”所需要的步骤和代码示例:步骤做什么代码示例1安装必要的库和工具2下载网页图片3图片预处理4使用OCR技术抓取文字步骤1:安装必要的库和工具在进行文字抓取前,首先需要安装几个必要的库和......
  • unity打开内置网页(UniWebView插件)
    UniWebView支持IOS和安卓,window不行UniWebView5|网络|UnityAssetStore安卓demo场景打包就能用,IOS可能得改下配置url必须加协议前缀http://、https:// ......
  • 4G/WiFi 无线传输物联网气动测量仪器 多通道 配云平台支持手机网页查看数据
       ......
  • EasyCVR告警类型设置后首页需要刷新才能更新的问题优化
    EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,包括:NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。平台具有强大的数据接入、处理及分发能力,可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理。关于平台的......
  • Gridea 搭建的博客无法加载 CSS、网页图标、头像配置
    前阵子发现了用来写静态博客的软件Gridea,配置使用后发现,网页和软件预览的完全不同,打开DevTools一看,CSS压根就没加载出来,同样的,其他静态资源也都没有正确加载。目前的Gridea版本号是0.0.3仔细观察后发现,多了一个/,如图再回到软件配置上,可能是因为多打了这一个尾部的/,导......