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

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

2、安装selenium库。

使用 pip install selenium 安装即可。

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

3、获取爬虫接口链接。

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

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实现自动化百度搜索关键词的更多相关文章

  1. python使用get在百度搜索并保存第一页搜索结果

    python使用get在百度搜索并保存第一页搜索结果 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用在意我的感受 #coding:utf-8 import ur ...

  2. 使用python和selenium写一个百度搜索的case

    今天练习的内容主要写了一个小功能,在百度上搜索某词汇,然后实现web上的back功能 代码如下: import unittest from selenium import webdriver from ...

  3. 使用python selenium进行自动化functional test

    Why Automation Testing 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...

  4. C#+Selenium抓取百度搜索结果前100网址

    需求 爬取百度搜索某个关键字对应的前一百个网址. 实现方式 VS2017 + Chrome .NET Framework + C# + Selenium(浏览器自动化测试框架) 环境准备 创建控制台应 ...

  5. js 获取百度搜索关键词的代码

    有可能有时候我们会用到在百度搜什么关键词进来我们的网站的,所有我们又想拿到用户搜索的关键词. 这是我研究了半天所得出的办法.话不多说直接贴代码 <script> function quer ...

  6. python selenium - web自动化环境搭建

    前提: 安装python环境. 参考另一篇博文:https://www.cnblogs.com/Simple-Small/p/9179061.html web自动化:实现代码驱动浏览器进行点点点的操作 ...

  7. python selenium与自动化

    大学是学习过java,但是工作中没用,忘完了,而且哪怕以后有了机会,就是很不愿意去学这个语言,开始喜欢上了c#,但是随着学的升入,感觉.net太庞大了,要学习那么多,总感觉我学这个要做什么,感觉要做的 ...

  8. python+selenium爬取百度文库不能下载的word文档

    有些时候我们需要用到百度文库的某些文章时,却发现需要会员才能下载,很难受,其实我们可以通过爬虫的方式来获取到我们所需要的文本. 工具:python3.7+selenium+任意一款编辑器 前期准备:可 ...

  9. python+selenium简易自动化框架,包含生成测试报告以及发送结果至Email

    Selenium+python环境搭建见虫师的pdf文档,非常详尽 简易框架: 1.文件目录:

随机推荐

  1. JS对象创建模式

    JS的对象创建模式 1.Object构造函数模式 var person = new Object(); person.name = 'name'; person.age = 43; console.l ...

  2. 洛谷P2577 午餐

    题目链接 题意概述:有n个人,第i个人打饭消耗ai时间,离开后吃饭耗费bi时间,将n个人分成两队,合理分配人员使总时间最短并输出总时间. 我们把问题拆分为两个部分.首先是排列顺序,然后是怎么分到两个队 ...

  3. Vue中的native修饰符解析

    native修饰符 一般来说,vue本身提供了v-on:eventName这个语法来提供vue的时事件绑定,通常使用@eventName这个语法糖代替上述语法. 使用过程中没有考虑@eventName ...

  4. JavaScript设计模式经典-面向对象中六大原则

    作者 | Jeskson来源 | 达达前端小酒馆 1 主要学习JavaScript中的六大原则.那么六大原则还记得是什么了吗?六大原则指:单一职责原则(SRP),开放封闭原则(OCP),里氏替换原则( ...

  5. TensorFlow安装笔记(CPU版)

    新电脑配环境又出了问题. 先是装了最新版anaconda,python3.7的版本.——2019.10.21 然后conda install TensorFlow,conda install kera ...

  6. linux高性能服务器编程 (七) --Linux服务器程序规范

    第七章 LInux 服务器程序规范 1)linux服务器程序一般以后台进程形式运行.后台进程又称为守护进程,是没有控制终端的,所以不会受到外界的干扰.守护进程的父进程通常是init进程(PID为1的进 ...

  7. 如何在ProXmoX VE 下虚拟机安装 黑群晖 DSM 6.1.6

    ProXmoX 官方下载地址: https://www.proxmox.com/en/downloads Proxmox是一个非常优秀的开源虚拟化环境,集诸多优点于一身:开源免费,稳定可靠,架构简洁, ...

  8. SpringCache

    官方文档:https://docs.spring.io/spring/docs/4.3.13.RELEASE/spring-framework-reference/htmlsingle/#cache ...

  9. js Map的使用

    setExpenseAndAmountSum: function() { var detailList = vehicleVueObj.vehicleData; var expenseAmountSu ...

  10. com.alibaba.druid.pool.DruidPooledConnection cannot be cast to oracle.jdbc.OracleConnection 异常解决办法

    java.lang.ClassCastException: com.alibaba.druid.pool.DruidPooledConnection cannot be cast to oracle. ...