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中找规律,如果在第一页用动作点击下一页这样翻页获取挺麻烦的,因为这样翻页会刷新网页导致只能抓取前两页

小结

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

相关推荐
Experience-摆渡2 小时前
Firecrawl深度调研报告:功能、实现原理、架构与自研落地建议
爬虫
泽众云测试2 小时前
泽众软件与日联科技达成合作,TestOne自动化测试平台助力搭建工业检测装备数字化品控防线
功能测试·测试工具·自动化
向上的车轮2 小时前
GitHub Actions 自动化运维实战:Rust 全栈项目 CI/CD 至华为云
运维·自动化·github
鹿鹿学长3 小时前
从英伟达开源Nemotron 3.5看“本地跑大模型“:一张显卡够用的时代来了
python·自动化
梦想的旅途23 小时前
企微私域自动化:客户全生命周期 SOP 策略与配置实战
运维·自动化·企业微信
梦想的旅途24 小时前
企业微信销售自动化:线索分配与超时预警
小程序·自动化·企业微信
HiDev_5 小时前
【非标自动化】硬核阅读理解620行梯形图-逆推工位逻辑
运维·自动化
xiaoxiangsiyan6 小时前
机房交换机交换技术与服务器链路聚合深度指南
运维·服务器·网络·学习·自动化·bond
深蓝电商API7 小时前
Hook XMLHttpRequest 实战
爬虫·hook
梦想的旅途27 小时前
企微社群裂变实战:自动化群接龙与活动打卡系统搭建
运维·自动化·企业微信