spider--某站搜索--自动化dp

devtools/2024/11/30 5:39:28/

免责声明:本文仅作分享!

自动化: DrissionPage

DrissionPage官网

python">import time
from DrissionPage import ChromiumPage,ChromiumOptions
import pandas as pd# 这里配置了浏览器路径,不配置的话直接 page = ChromiumPage()
co = ChromiumOptions()
co.set_browser_path("D:\chrome-win64\chrome-win64\chrome.exe")
page = ChromiumPage(co)name = str(input("输入查询内容:"))
page.get(f'https://search.bilibili.com/all?&keyword={name}')
df = pd.DataFrame()
data_list = []while True:for i in range(3):page.scroll.down(500)print("*"*30)link_a = page.eles("x://div[@class='bili-video-card__wrap __scale-wrap']/a/@href") # 链接# name_a = page.eles('.:bili-video-card__info--author') # 用户time_a = page.eles('.:bili-video-card__info--date')   # 发布时间name_n = page.eles('.:bili-video-card__info--owner')  # 用户主页namesa = page.eles('.:bili-video-card__stats')        # 播放量 时间for lj,fb,zy,bf in zip(link_a,time_a,name_n,namesa):a = lj.link.replace('\n','')# b = yh.text.replace('\n','')c = fb.text.replace('\n','').replace('·','')d = zy.text.replace('\n','')e = bf.text.replace('\n','')print(a,c,d,e)row_data = {'链接': a if a else None,# '用户': b if b else None,'发布时间': c if c else None,'用户': d if d else None,'播放量/视频时间': e if e else None,}data_list.append(row_data)df = pd.concat([df, pd.DataFrame(data_list)], ignore_index=True)data_list = []df.to_excel(name + '---b站.xlsx', index=False)time.sleep(1)try:page.ele('@text()=下一页').click()except Exception:print("获取完毕·")break


 


http://www.ppmy.cn/devtools/138107.html

相关文章

线程与进程的个人理解

进程(Process): 一个程序在执行时,操作系统为其分配的资源(如内存、CPU 时间等)构成了一个进程。每个进程都有自己的独立的地址空间、堆栈和局部变量,它们之间不共享内存(除非通过特…

设计模式学习之——观察者模式

观察者模式是一种行为型设计模式,它用于在对象之间建立一对多的依赖关系。 一、定义与角色 定义: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察…

Linux 常用命令大全与详细讲解

Linux 作为一种流行的操作系统,广泛应用于服务器、开发环境和日常桌面使用中。Linux 的强大之处在于它的命令行工具,用户通过命令行可以执行系统管理、文件处理、网络配置等多种操作。本文将详细介绍一些 Linux 中最常用的命令,从文件操作到系…

深入讲解Spring Boot和Spring Cloud,外加图书管理系统实战!

很抱歉,我的疏忽,说了这么久还没有给大家详细讲解过Spring Boot和Spring Cloud,那今天给大家详细讲解一下。 大家可以和下面这三篇博客一起看: 1、Spring Boot 和 Spring Cloud 微服务开发实践详解https://blog.csdn.net/speaking_me/artic…

构建 LLM (大型语言模型)应用程序——从入门到精通(第七部分:开源 RAG)

通过检索增强生成 (RAG) 应用程序的视角学习大型语言模型 (LLM)。 本系列博文 简介数据准备句子转换器矢量数据库搜索与检索大语言模型开源 RAG(本帖)评估服务LLM高级 RAG 1. 简介 我们之前的博客文章广泛探讨了大型语言模型 (LLM),涵盖了其…

Jenkins-Git Parameter 插件实现指定版本的发布和回滚

在上一篇文章的基础设置上进行 1. 机器准备 开发10.0.0.204gitlab10.0.0.201jenkins10.0.0.200web10.0.0.202 2. 开发主机 在开发机器上修改不同版本的前端页面,并打上标签 第一次修改 [rootdev wheel]#vim index.html [rootdev wheel]#git commit -am "1…

c++设计模式模块与系统

c 中lambda 本质就是一个匿名(没有名)的函数; 可以用一个数组元素存储一个函数的指针; 通过数组下标来使用函数; 高内聚低耦合 如何理解设计模式中的高内聚低耦合 高内聚: 用于指导如何组织和划分软件设计。 **定义:**高内聚指的…

通信与网络安全之IPSEC

IPSec(IP Security)是IETF制定的为保证在Internet上传送数据的安全保密性能的三层隧道加密协议。IPSec在网络层对IP报文提供安全服务。IPSec协议本身定义了如何在IP数据包中增加字段来保证IP包的完整性、 私有性和真实性,以及如何加密数据包。…