使用python selenium WEB自动化库来实现Chrome浏览器打开百度搜索自动点击刷排名

本文主要是介绍使用python selenium WEB自动化库来实现Chrome浏览器打开百度搜索自动点击刷排名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实现原理:
1.实例化浏览器,并打开百度首页
2.输入自己的网站关键词,并搜索
3.检查搜索结果中是否有自己的网站,如果有则点击,并延迟10秒退出,
4.如果没有则翻页,继续循环检查

只是做一些粗糙的代码演示,并粗做了一些参数限制,你可以根据自己情况修改。并且没有加入代理功能。避免做一些乱用途。
给出代码:

需要安装selenium 库

pip install selenium

需要手动安装Chrome
https://www.google.cn/chrome/

需要手动下载对应的浏览器驱动 webdriver (一般不需要管小版本,大版本对应上或相近的版本即可,建议直接用最新的)

http://npm.taobao.org/mirrors/chromedriver/
我这里用的这个版本,下载完之后放到python运行环境的根目录。
在这里插入图片描述
我这里是项目根目录,所以直接跟主程序放一起,一般你如果报错说明是驱动放的路径这里有问题。请确认。
在这里插入图片描述

from selenium import webdriver
from time import sleep
import randomwhile True:if random.randint(1,2)==1:keyword = "寻无极办公软件机器人3.0"else:keyword = "企业微信办公客服机器人定制"print(keyword)for i in range(2, len(keyword) + 1):wd=keyword[:i+1]print(str(i)+wd)chrome = webdriver.Chrome("chromedriver.exe")chrome.implicitly_wait("20")chrome.get("https://baidu.com")chrome.find_element_by_css_selector("#kw").send_keys(wd+"\n")def s_click(b):sleep(random.randint(4,30))try:arr = b.find_elements_by_css_selector("div#content_left > div ")for a in arr:print(a.text)if a.text.find("23xiu.cn") != -1:#定义了点击哪个网站a.find_element_by_css_selector("h3.t").click()return 1except:print("可能没有窗口之类的,发生了一些错误")return -1s_click(chrome)n = 0while True:arr_p = chrome.find_elements_by_css_selector("#page >div.page-inner >a")n = n + 1for p in arr_p:print(p.text)if p.text.find("下一页") != -1:p.click()if s_click(chrome)==1:breakif n > 10:breakchrome.close()sleep(60*60*1)

我这里搜了几个我自己想自动化点击的关键词。实现方法非常简单。新手可以复制代码先跑一遍,然后再修改为自己的关键词。别拿到手直接改。出了问题又不知道哪里问题。

有问题可以联系我微信:huang582716403

这篇关于使用python selenium WEB自动化库来实现Chrome浏览器打开百度搜索自动点击刷排名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/ZhiMaoYiDeHuaiRen/article/details/118079762
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/659190

相关文章

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句