使用Python的Requests和BeautifulSoup库爬取网站视频

Python 作为一种功能强大的编程语言,提供了许多用于爬取网页内容的库。
其中,Requests 用于发送 HTTP 请求,而 BeautifulSoup 则用于解析 HTML 页面。
如何使用 Python 的 Requests 和 BeautifulSoup 库来爬取网站视频链接,让你能够获取你感兴趣的搜索信息。

首先,需要安装 Python 以及以下两个库:

pip install requests beautifulsoup4

示例代码:

1.先定义一个函数来从视频页面中提取视频链接,这个函数将使用正则表达式来匹配视频链接,并返回匹配的结果。

2.接下来,定义一个函数来获取指定关键词的视频信息,这个函数将发送一个HTTP请求到指定的网站,然后解析返回的HTML内容以获取视频链接。

import requests  # 导入用于发送HTTP请求的库
from bs4 import BeautifulSoup  # 导入用于解析HTML内容的库
import re  # 导入正则表达式模块

def get_video_info(video_page):
    """
    从视频页面中提取视频链接的函数
    """
    # 定义正则表达式模式,用于匹配视频链接
    pattern = r'"url":"(.*?)"'
    # 使用正则表达式模式在页面内容中寻找匹配项
    matches = re.findall(pattern, str(video_page))
    # 如果匹配项数量大于1,获取第二个匹配项(通常是高清视频链接)
    if len(matches) > 1:
        # 将匹配到的链接中的转义字符替换为正常字符
        video_url = matches[1].replace('\\/', '/')
        # 打印视频链接
        print(video_url)

def get_video(word):
    """
    获取指定关键词的视频信息的函数
    """
    # 发送HTTP请求到指定网站,搜索指定关键词的视频
    response = requests.get(f"https://yoyys1.com/vodsearch/-------------.html?wd={word}")
    # 使用BeautifulSoup解析HTML内容
    soup = BeautifulSoup(response.content, 'html.parser')
    # 查找所有视频项
    module_card_items = soup.find_all('div', class_='module-card-item')
    # 遍历每个视频项
    for item in module_card_items:
        # 获取视频链接
        link = item.find('a')['href']
        # 获取视频标题
        text = item.find('strong').get_text()
        # 从视频链接中提取视频ID
        video_id = re.search(r'\d+', link).group()
        # 构造视频播放页面的URL
        video_url = f"https://yoyys1.com/vodplay/{video_id}-1-1.html"
        # 发送HTTP请求到视频播放页面
        response = requests.get(video_url)
        # 使用BeautifulSoup解析视频播放页面的HTML内容
        soup = BeautifulSoup(response.content, 'html.parser')
        # 查找所有视频播放链接
        Jis = soup.find_all('a', class_='module-play-list-link')
        # 打印视频标题
        print(text)
        # 遍历每个播放链接
        for Ji in Jis:
            # 获取播放链接
            H = Ji['href']
            # 如果播放链接不为空
            if H is not None:
                # 构造完整的视频播放链接
                video_url = f"https://yoyys1.com{H}"
                # 发送HTTP请求到视频播放链接
                response = requests.get(video_url)
                # 使用BeautifulSoup解析视频播放页面的HTML内容
                video_page = BeautifulSoup(response.content, 'html.parser')
                # 调用函数提取视频链接信息
                get_video_info(video_page)
        # 打印分隔线
        print("******")

if __name__ == "__main__":
    # 在主函数中调用get_video函数,并传入想要搜索的关键词
    # 以“我亲爱的祖国”为例
    get_video("我亲爱的祖国")
    ```
通过这个简单的Python程序,可以轻松地获取视频信息。
  • 11
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bingjia_Hu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值