缘起

之前公司找外面网络公司做某些业务相关关键词排名,了解了一下相关的情况,网络公司只需要我们提供网站地址和需要做的关键词即可,故猜想他们采取的方式应该是通过模拟用户搜索提升网站权重进而提升排名。

不过后续公司的网站卡在第二页那个公司一直也没能把排名做到首页,因为赶巧百度推出了惊雷算法打击这种刷排名的方式。

但这个算法实际的打击面应该并不会很精准,现在也依然还有很多公司在做这方面的业务。

之前接触到selenium,了解了一些基本的功能,今天尝试实现一下百度搜索相关关键词然后定位目标网站进行访问等基本操作。

注意事项

既然说到刷,必然涉及到使用海量的IP。

  • 自建IP池

一般可以自己搭建IP池,通过程序爬取各类免费IP网站上的IP和端口号,然后进行验证,可以用的就入库,不能用的就删掉。

但是免费的永远是最最贵的,虽然搭建比较简单,但IP的有效率很低且能用的基本速度也非常慢。

  • 购买IP

现在有很多IP服务商都提供爬虫接口,我试用过芝麻、牛魔、IP精灵、站大爷、ET等很多提供此类服务的服务商家的测试套餐,然鹅基本上都比我自建的IP池的质量都差,当然没有购买过收费套餐就暂不评论。

但是我就是想做个学习的测试就没有必要购买此类收费服务了,不过我发现了个非常靠谱的IP服务商。。他们家的免费测试的IP都能直接看爱奇艺720p,真心666,只想低调使用就不透漏了。

代码部分


from selenium import webdriver
import requests,time #自建IP池
def get_proxy():
r = requests.get('http://127.0.0.1:5555/random')
return r.text # 使用兔子IP免费爬虫代理
import random FILE = './tuziip.txt' # 读取的txt文件路径 # 获取代理IP
def proxy_ip():
ip_list = []
with open(FILE, 'r') as f:
while True:
line = f.readline()
if not line:
break
ip_list.append(line.strip())
ip_port = random.choice(ip_list)
return ip_port def bd():
chromeOptions = webdriver.ChromeOptions() # 设置代理
chromeOptions.add_argument("--proxy-server=http://"+proxy_ip())
# 一定要注意,=两边不能有空格,不能是这样--proxy-server = http://202.20.16.82:10152
browser = webdriver.Chrome(chrome_options = chromeOptions) # 查看本机ip,查看代理是否起作用
browser.get("https://www.baidu.com/")
browser.find_element_by_id("kw").send_keys("ip")
browser.find_element_by_id("su").click()
time.sleep(2)
browser.find_element_by_id("kw").clear()
time.sleep(1)
browser.find_element_by_id("kw").send_keys("ip代理")
browser.find_element_by_id("su").click()
time.sleep(2)
browser.find_element_by_id("kw").clear()
time.sleep(1)
browser.find_element_by_id("kw").send_keys("兔子ip代理")
browser.find_element_by_id("su").click()
time.sleep(2)
browser.find_element_by_id("kw").clear()
time.sleep(1)
browser.close()
# 退出,清除浏览器缓存
browser.quit()
if __name__ == "__main__":
while True:
print(proxy_ip)
bd()

运行程序,程序可自动打开浏览器,进入百度,搜索关键词IP,停顿2秒,清除搜索框内容,停一秒输入“IP代理”,然后停顿、清除、再搜索"目标关键词",然后清楚缓存退出浏览器,再更换IP开始新一轮。

如果要实现搜索目标关键词,选择目标网站点击进入目标网站,就需要使用selenium相关的元素选择了,这个就不多介绍了,很简单看下selenium的相关文档就ok了。

python+selenium实现百度关键词搜索自动化操作的更多相关文章

  1. Python多线程采集百度相关搜索关键词

    百度相关搜索关键词抓取,读取txt关键词,导出txt关键词 #百度相关搜索关键词抓取,读取txt关键词,导出txt关键词   # -*- coding=utf-8 -*- import request ...

  2. 用python来个百度关键词刷排名脚本

    目的:写个脚本来提升百度排名 我一个seo届前辈的朋友找我,他说,seo事无巨细,自己主观方面能做的几乎都能做了,提升百度等搜索引擎中的排名往往效果不佳或者起效周期慢.能不能人为去干预下呢? 获得排名 ...

  3. python selenium TouchAction模拟移动端触摸操作(十八)

    最近做移动端H5页面的自动化测试时候,需要模拟一些上拉,下滑的操作,最初考虑使用使用selenium ActionChains来模拟操作,但是ActionChains 只是针对PC端程序鼠标模拟的一系 ...

  4. Python+Selenium笔记(九):操作警告和弹出框

    #之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用)  改成 driver.switch_to.alert就不会了. (一 ...

  5. 百度关键词搜索工具 v1.1|url采集工具 v1.1

    功能介绍:关键词搜索工具 批量关键词自动搜索采集 自动去除垃圾二级泛解析域名 可设置是否保存域名或者url 持续更新中

  6. selenium基础框架的封装(Python版)这篇帖子在百度关键词搜索的第一位了,有图为证,开心!

    百度搜索结果页地址:https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd=se ...

  7. python selenium实现百度搜索

    1.环境 python2.7+selenium+phantomjs+linux 2.代码 #-*-coding:utf-8 -*- from selenium import webdriver fro ...

  8. python+selenium一:对浏览器的操作

    # 1.打开Firefox浏览器from selenium import webdriverdriver = webdriver.Firefox()driver.get("https://w ...

  9. 利用Python爬虫实现百度网盘自动化添加资源

    事情的起因是这样的,由于我想找几部经典电影欣赏欣赏,于是便向某老司机寻求资源(我备注了需要正规视频,绝对不是他想的那种资源),然后他丢给了我一个视频资源网站,说是比较有名的视频资源网站.我信以为真,便 ...

随机推荐

  1. Redis(四):独立功能的实现

    发布与订阅 Redis 的发布与订阅功能有PUBLISH命令,SUBSCRIBE命令,PSUBSCRIBE命令,PUBSUB命令等组成. 客户端可以通过SUBSCRIBE命令订阅一个或多个频道,当其它 ...

  2. Ethtool工具源码剖析

    Ethtool工具源码剖析 ethool是一个实用的工具,用来给系统管理员以大量的控制网络接口的操作.可以用来控制接口参数,速度,介质类型,双工模式,DMA环设置,硬件校验和,LAN唤醒操作等.本人经 ...

  3. 虚拟化学习笔记-KVM虚拟化跨机迁移原理

    参考:https://zhuanlan.zhihu.com/p/27055555 在线迁移过程划分为三个阶段:准备阶段.迁移阶段和切换阶段.迁移环境为虚拟化底层KVM+Qemu.虚拟化管理Libvir ...

  4. vue element select多选回显

    我们经常在使用 Element组件里面的 select多选 场景:添加账号的时候需要选择可见分公司(分公司为多选),添加成功之后可以编辑,需要回显添加时所提交的分公司 代码如下: 多选框: data( ...

  5. 使用python实现模拟掷骰子数据分析

    Data:2020/4/8 主题:模拟实现掷骰子数据分析 编译环境:pycharm 库:pygal 说明: code 1:创建一个掷骰子类对象,类方法获得掷骰子随机数1-6,默认6个面,模拟20次将结 ...

  6. django3开发完整博客带评价

    纯django开发最完美博客 2020年5月打造最时尚博客系统教程 为了学习速度,集中精力学习django和博客开发, 没有使用其它框架,也没有使用css预处理等 这样学起来最方便, 博客前后端都完成 ...

  7. P2201 数列编辑器

    传送门呀呀呀呀呀呀呀呀呀呀呀呀呀 \(乍一看题目好像很难\)(实际也确实很难) \(但是我们仔细看就发现,整个数列分成了光标前和光标后两组数列\) \(我们有什么理由不分开储存呢??\) \(然后光标 ...

  8. Spring Cloud学习 之 Spring Cloud Hystrix(基础知识铺垫)

    Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 文章目录 前述: 快速入门: 命令模式: RxJava: 前述: ​ 在微服务架构中, ...

  9. node常用插件使用

    1.nodemon 用于热更新,随时监控文件的变化 安装npm i -g nodemon 使用nodemon index.js 2.nvm nvm用于nodejs版本管理,我们在开发过程中,不同的项目 ...

  10. 一文教你快速搞懂速度曲线规划之T形曲线(超详细+图文+推导+附件代码)

    运动控制中常用的T速度曲线规划的原理和程序实现,最后给出了测试结果: 如果本文帮到了您,请帮忙点个赞