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实例之wxpython中Frame使用方法
Jun 09 Python
用Python实现一个简单的线程池
Apr 07 Python
在Python的Django框架中创建语言文件
Jul 27 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
使用django的objects.filter()方法匹配多个关键字的方法
Jul 18 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
python中struct模块之字节型数据的处理方法
Aug 27 Python
python通过SSH登陆linux并操作的实现
Oct 10 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
python 如何在测试中使用 Mock
Mar 01 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通过COM使用ADODB的简单例子
2006/12/31 PHP
php 获取可变函数参数的函数
2009/08/26 PHP
PHP反射机制用法实例
2014/08/28 PHP
详解PHP数组赋值方法
2015/11/07 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
9个JavaScript评级/投票插件
2010/01/18 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
chrome调试javascript详解
2015/10/21 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
2019/03/05 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
python删除列表中重复记录的方法
2015/04/28 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
Django框架模板用法入门教程
2019/11/04 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
Python基于当前时间批量创建文件
2020/05/07 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
卫生安全检查制度
2014/02/04 职场文书
娱乐节目策划方案
2014/06/10 职场文书
加油口号大全
2014/06/13 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
爱国主义主题班会
2015/08/14 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android