You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python网页爬取:如何获取下拉菜单中的480p视频链接

如何获取AnimeHeaven页面的480p视频链接

好的,咱们来搞定这个480p视频链接的抓取问题。我之前处理过类似的动漫站点,给你梳理几个靠谱的步骤:

1. 先扒下拉菜单的HTML结构

打开目标页面后按F12调出浏览器开发者工具,切到Elements标签页,找到画质选择的下拉框(一般是<select>标签,可能带quality相关的ID或类名)。

  • 查看下拉框里的<option>元素:有些站点会直接把视频链接存在选项的value属性,或者自定义的data-src属性里。比如你找到对应“480p”的那个<option>,直接提取它的属性值就是目标链接了。

举个常见的HTML结构例子:

<select class="quality-picker">
  <option value="https://cdn.example.com/mha_s3e2_720p.mp4">720p</option>
  <option value="https://cdn.example.com/mha_s3e2_480p.mp4">480p</option>
</select>

这种情况直接拿第二个option的value就行。

2. 抓包看切换画质的网络请求

如果下拉选项里没直接放链接,那大概率是点击后通过AJAX请求加载的。这时候切到开发者工具的Network标签页,刷新页面后手动选一次480p,观察新出现的网络请求:

  • 找类型为XHR或Fetch的请求,看看它的URL和参数(比如有没有带视频ID、画质参数quality=480)。之后你在爬虫里直接构造这个请求,就能拿到480p的链接了。

比如可能请求是http://animeheaven.eu/api/get_video?id=123&quality=480,把参数里的画质改成480就ok。

3. 试试链接的命名规律替换

有些站点的不同画质链接只是文件名里的分辨率不一样,比如默认的720p链接是http://cdn.animeheaven.eu/MyHeroAcademiaS3E2_720p.mp4,那480p的可能就是把_720p换成_480p。你可以先拿到默认的720p链接,做个字符串替换试试,不过这个得验证是否符合站点的命名规则,不是万能的。

爬虫实现的小提醒

  • 如果用Python爬,要是页面内容是JS动态加载的,普通的BeautifulSoup可能拿不到下拉菜单的真实内容,这时候可以用Selenium或者Playwright模拟浏览器操作:先自动切换到480p,再去拿视频标签的src属性。
  • 记得加个正常的User-Agent请求头,别太频繁请求,避免被站点反爬拦截。

举个Selenium的简单示例代码:

from selenium import webdriver
from selenium.webdriver.support.ui import Select

# 初始化浏览器
driver = webdriver.Chrome()
driver.get("http://animeheaven.eu/watch.php?a=My%20Hero%20Academia%203&e=2")

# 定位下拉框并选择480p
quality_select = Select(driver.find_element_by_class_name("quality-select"))  # 这里要换成实际的选择器
quality_select.select_by_visible_text("480p")

# 获取视频链接
video_link = driver.find_element_by_tag_name("video").get_attribute("src")
print("480p视频链接:", video_link)

driver.quit()

内容的提问来源于stack exchange,提问作者Eular

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:48:57