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中请使用isinstance()判断变量类型
Aug 25 Python
Python之多线程爬虫抓取网页图片的示例代码
Jan 10 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 Python
python实现基于信息增益的决策树归纳
Dec 18 Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 Python
python 单线程和异步协程工作方式解析
Sep 28 Python
关于Pytorch的MLP模块实现方式
Jan 07 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
python suds访问webservice服务实现
Jun 26 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 Python
Python中for后接else的语法使用
May 18 Python
python实现双向链表原理
May 25 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 获取目录下的图片并随机显示的代码
2009/12/28 PHP
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
python单例模式实例分析
2015/04/08 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
Python阶乘求和的代码详解
2020/02/14 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
会计专业毕业生推荐信
2013/11/05 职场文书
主管会计岗位责任制
2014/02/10 职场文书
移交协议书
2014/08/19 职场文书
个人查摆剖析材料
2014/10/04 职场文书
2015暑假打工实践报告
2015/07/13 职场文书