油管频道video界面,不借助webdriver,怎么触发下一页

本文介绍了如何在不使用webdriver的情况下,通过分析油管频道video页面的HTTP请求,动态构造POST请求参数来获取所有视频数据。针对油管页面结构的变化,文章详细讲解了如何处理翻页请求,实现视频列表的完整抓取。

油管频道video界面,不借助webdriver,如何获取所有完整数据

油管爬虫到目前为止已经运行了将近3年,经历了页面结构的不断变化和调整

一个正常的红人频道页面如下:

有home、videos、playlists、channels、about5个界面构成

分别代表首页、视频、播放列表、订阅频道、简介

video页面可以看到红人主播发布过的的所有历史视频,少则没有,多则上千,

如何利用http请求获取到所有的video呢?

研究发现,请求该页面时,默认返回前30个视频数据(如果数量大于30),后面的数据需要出发新的ajax请求进行加载

手动触发一下,发现了它请求的地址如下(这次它居然改成了post请求):

而且我们发现,不管拉多少页,这个地址都是不变的,那么我们只需要动态的构造出post请求所需要的data参数即可

看最下面,data采用的是request payload的方式,将里面可变的参数用动态参数替换

### 解决Selenium WebDriver未找到的问题 当遇到Selenium WebDriver未找到的情况时,通常是因为环境配置正确或路径设置有误。以下是详细的解决方案: #### 1. 验证WebDriver安装位置 确保已下载并解压了目标浏览器对应的WebDriver版本,并将其放置于易于访问的位置。 #### 2. 设置系统环境变量 为了使操作系统能够识别到WebDriver可执行文件,在系统的`PATH`环境中添加WebDriver所在的目录[^1]。 对于Windows用户来说,可以通过以下方式操作: - 右键点击“此电脑”,选择属性 - 进入高级系统设置中的环境变量选项卡 - 编辑Path变量,追加WebDriver所在绝对路径;各条目间用分号隔开 Linux/MacOS则需编辑~/.bashrc或其他shell初始化脚本文件,加入如下命令: ```bash export PATH=$PATH:/path/to/webdriver/directory ``` #### 3. 明确指定WebDriver路径 如果想更改全局环境变量,则可以在启动测试前通过编程手段显式指明驱动程序的具体位置。例如Python代码可以这样写: ```python from selenium import webdriver firefox_driver_path = '/usr/local/bin/geckodriver' browser = webdriver.Firefox(executable_path=firefox_driver_path) ``` #### 4. 使用最新版Selenium库与WebDriver 保持使用的Selenium客户端库以及对应浏览器的WebDriver均为最新稳定发布版本有助于减少兼容性问题的发生概率[^2]。 #### 5. 测试环境隔离 有时本地开发机器上的某些安全软件可能会干扰自动化工具正常工作,尝试在一个干净、受控环境下运行测试案例可以帮助排除此类因素的影响。
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值