python+selenium实现自动化百度搜索关键词


Posted in Python onJune 03, 2019

通过python配合爬虫接口利用selenium实现自动化打开chrome浏览器,进行百度关键词搜索。

1、安装python3,访问官网选择对应的版本安装即可,最新版为3.7。

python+selenium实现自动化百度搜索关键词

2、安装selenium库。

使用 pip install selenium 安装即可。

同时需要安装chromedriver,并放在python安装文件夹下,如下图所示。

python+selenium实现自动化百度搜索关键词

3、获取爬虫接口链接。

注册账号,点击爬虫代理,领取每日试用。

python+selenium实现自动化百度搜索关键词

from selenium import webdriver 

import requests,time 

 #自建IP池 

def get_proxy():

  r = requests.get('http://127.0.0.1:5555/random')

  return r.text 

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("百度")

  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("百度")

  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:

    bd()

5、运行程序,如下图所示,可自动化搜索。

python+selenium实现自动化百度搜索关键词

Python 相关文章推荐
python在linux中输出带颜色的文字的方法
Jun 19 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
深入理解Python对Json的解析
Feb 14 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
深入了解Python iter() 方法的用法
Jul 11 Python
python定义类self用法实例解析
Jan 22 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 Python
Python如何输出百分比
Jul 31 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
Jun 03 #Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 #Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 #Python
Python3实现定时任务的四种方式
Jun 03 #Python
500行Python代码打造刷脸考勤系统
Jun 03 #Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 #Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 #Python
You might like
为你总结一些php系统类函数
2015/10/21 PHP
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
Python线性方程组求解运算示例
2018/01/17 Python
Django中的Signal代码详解
2018/02/05 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
Python给图像添加噪声具体操作
2019/03/03 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python简易版图书管理系统
2019/08/12 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
python爬虫 requests-html的使用
2020/11/30 Python
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
linux面试题参考答案(7)
2012/10/29 面试题
群众路线剖析材料
2014/09/30 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
《海上日出》教学反思
2016/02/23 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python