03-自动化小案例

这小案例很简单,看完上一篇文章就可以着手做了:

python 复制代码
# 下面用加载页面,定位数据,动作链来做
from DrissionPage import ChromiumPage
from DrissionPage.common import By
import time

input_data = input('请输入想要搜索的课程:')
webdriver = ChromiumPage()
for page in range(1, 10):
    # 单窗口复用
    webdriver.get(f'https://search.bilibili.com/video?keyword={input_data}&from_source=webtop_search&spm_id_from=333.1007&search_source=6&page={page}&o={(page-1) * 30}')
    time.sleep(0.8)
    # 解析元素
    infos = webdriver.eles((By.XPATH, '//div[@class="video-list row"]/div'))
    lst = []
    for info in infos:
        url_ = info.ele((By.XPATH, './/div[@class="bili-video-card"]/div[@class="bili-video-card__wrap"]/a'))
        url = url_.attr('href')
        # print(url)
        title = info.ele((By.XPATH, './/div[@class="bili-video-card"]/div[@class="bili-video-card__wrap"]/div/div/a/h3')).attr('title')
        dic = {
            'title': title,
            'url': url,
        }
        lst.append(dic)
    print('-' * 160)
    print(f'第{page}页:{lst}')

webdriver.quit()

学了数据库,可以试试redis去重然后存入mysql或者MongDB中,这里就有一点需要注意,要在url中找规律,如果在第一页用动作点击下一页这样翻页获取挺麻烦的,因为这样翻页会刷新网页导致只能抓取前两页

小结

本文很简单,大家可以试试用接口的那种,那种更快,加油加油

相关推荐
聆风吟º1 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
做人不要太理性6 小时前
CANN Runtime 运行时与维测组件:异构任务调度、显存池管理与全链路异常诊断机制解析
人工智能·自动化
池央6 小时前
CANN oam-tools 诊断体系深度解析:自动化信息采集、AI Core 异常解析与 CI/CD 流水线集成策略
人工智能·ci/cd·自动化
依米阳光086 小时前
Playwright MCP AI实现自动化UI测试
ui·自动化·playwright·mcp
YongCheng_Liang7 小时前
从零开始学 Python:自动化 / 运维开发实战(核心库 + 3 大实战场景)
python·自动化·运维开发
搂着猫睡的小鱼鱼7 小时前
Ozon 商品页数据解析与提取 API
爬虫·php
鸽芷咕7 小时前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
深蓝电商API8 小时前
住宅代理与数据中心代理在爬虫中的选择
爬虫·python
csdn_aspnet9 小时前
Libvio.link爬虫技术深度解析:反爬机制破解与高效数据抓取
爬虫·反爬·libvio
大大大反派10 小时前
CANN 生态中的自动化部署引擎:深入 `mindx-sdk` 项目构建端到端 AI 应用
运维·人工智能·自动化