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

小结

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

相关推荐
信创天地9 小时前
自动化运维利器赋能信创:Ansible与SaltStack在国产系统的部署与批量管理实战
运维·自动化·ansible
北京耐用通信11 小时前
耐达讯自动化Profibus总线光纤中继器:光伏逆变器通讯的“稳定纽带”
人工智能·物联网·网络协议·自动化·信息与通信
AC赳赳老秦16 小时前
Prometheus + DeepSeek:自动生成巡检脚本与告警规则配置实战
前端·javascript·爬虫·搜索引擎·prometheus·easyui·deepseek
晚风予卿云月16 小时前
【Linux】自动化构建—make/Makefile
linux·自动化·make/makefile
0思必得018 小时前
[Web自动化] Selenium中Select元素操作方法
前端·python·selenium·自动化·html
AC赳赳老秦18 小时前
Kubernetes 与 DeepSeek:高效 Pod 部署配置与资源调度优化指南
人工智能·云原生·容器·kubernetes·自动化·notepad++·deepseek
JZC_xiaozhong18 小时前
物料编码在ERP与其他系统中的冲突与解决
运维·自动化·mdm·流程自动化·主数据管理·数据孤岛解决方案·数据集成与应用集成
宇钶宇夕19 小时前
ATV900系列变频器起重提升抱闸逻辑设置及源型接线指南
运维·自动化
小白学大数据19 小时前
基于 Python 的知网文献批量采集与可视化分析
开发语言·爬虫·python·小程序
飞向天空的鹰19 小时前
反爬虫-开发者调用检测(网页自动关闭)
爬虫