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

yipeiwu_com6年前Python基础

通过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通过递归遍历出集合中所有元素的方法

本文实例讲述了Python通过递归遍历出集合中所有元素的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:'''''通过递归遍历出集合中的所有元素 Created o...

python re正则表达式模块(Regular Expression)

模块的的作用主要是用于字符串和文本处理,查找,搜索,替换等 复习一下基本的正则表达式吧  .:匹配除了换行符以为的任意单个字符  *:匹配任意字符,一个,零个,多个都...

python算法演练_One Rule 算法(详解)

这样某一个特征只有0和1两种取值,数据集有三个类别。当取0的时候,假如类别A有20个这样的个体,类别B有60个这样的个体,类别C有20个这样的个体。所以,这个特征为0时,最有可能的是类别...

python定时按日期备份MySQL数据并压缩

本文实例为大家分享了python定时按日期备份MySQL数据并压缩的具体代码,供大家参考,具体内容如下 #-*- coding:utf-8 -*- import os impo...

对于Python中RawString的理解介绍

总结 1、'''作用: 可以表示 "多行注释" 、"多行字符串" 、"其内的单双引号不转义" 2、r 代表的意思是: raw 3、r 只对其内的反斜杠起作用(注意单个 \ 的问题) ra...