使用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浏览器打开百度搜索自动点击刷排名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659190

相关文章

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Java Optional避免空指针异常的实现

《JavaOptional避免空指针异常的实现》空指针异常一直是困扰开发者的常见问题之一,本文主要介绍了JavaOptional避免空指针异常的实现,帮助开发者编写更健壮、可读性更高的代码,减少因... 目录一、Optional 概述二、Optional 的创建三、Optional 的常用方法四、Optio

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in