Python利用selenium建立代理ip池访问网站的全过程
作者:HarryPoFly 发布时间:2021-12-03 11:41:26
标签:selenium,代理,ip池
一、使用selenium前?
1.安装selenium
pip install Selenium
2.安装浏览器驱动
Chrome驱动文件下载:点击下载
3.配置环境
1.将下载文件放进C:\Program Files (x86)\Google\Chrome\Application下就可以
2.然后配置下系统变量:我的电脑–>属性–>系统设置–>高级–>环境变量–>系统变量–>Path,将“C:\Program Files (x86)\Google\Chrome\Application”目录添加到Path的值中。
注:之后如果代码不能调起浏览器,重启电脑,再运行!!!
二、使用selenium
1.引入库
代码如下(示例):
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
2.完整代码
如果有多个代理ip可循环使用,防止被禁几率
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#以下ip使用自己可使用的 *
proxy_arr = [
'--proxy-server=http://171.35.141.103:9999',
'--proxy-server=http://36.248.132.196:9999',
# '--proxy-server=http://125.46.0.62:53281',
'--proxy-server=http://219.239.142.253:3128',
'--proxy-server=http://119.57.156.90:53281',
'--proxy-server=http://60.205.132.71:80',
'--proxy-server=https://139.217.110.76:3128',
'--proxy-server=https://116.196.85.150:3128'
]
chrome_options = Options()
proxy = random.choice(proxy_arr) # 随机选择一个代理
print(proxy) #如果某个代理访问失败,可从proxy_arr中去除
chrome_options.add_argument(proxy) # 添加代理
browser = webdriver.Chrome(options=chrome_options)
browser.get("http://httpbin.org/ip")
print(browser.page_source)
代码如下(示例):
总结
来源:https://blog.csdn.net/sinat_33801009/article/details/108383876


猜你喜欢
- 利用zipfile模块和pandas获取数据,代码比较简单,做个记录吧:# -*- coding: utf-8 -*-""
- 1. 说明本篇主要针对在Ubuntu系统中,matplotlib显示不了中文的问题,尤其是在无法安装系统
- 众所周知,数据库中INSERT INTO语法是append方式的插入,而最近在处理一些客户数据导入场景时,经常遇到需要覆盖式导入的情况常见的
- 先来说一下我们学校的网站:http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html查询成绩需要登
- 0.前言回调函数是一种在编程中常见的技术,通常在异步编程中使用。简单来说,回调函数是一个被传递给另一个函数的函数,它在该函数的某个时间点被调
- 先看示例i=1menu=["B超室","化验室"]user="张来,黎明,常冒
- 一、触发器1.触发器在数据库里以独立的对象存储,2.触发器不需要调用,它由一个事件来触发运行3.触发器不能接收参数--触发器的应用举个例子:
- 前言:为了获取一定高级操作,如:微信模板消息(xiao,xin)推送,把消息推送给用户,或者是获取用户授权信息都需要用到access tok
- 程序执行时需要读取两个文件command.txt和ipandpass.txt。格式如下:command.txt:ThreadNum:1por
- 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定
- 引言多阶段构建方式,是在 Dockerfile 中使用多个 FROM 指令,每个 FORM 指令都是一个新的构建阶段,并且可以方便地复制之前
- 本文讲述的是通过python+tkinter编写一个简单桌面放大镜的代码示例,具体如下。代码思路:首先全屏截图,然后在鼠标当前位置以小窗口进
- 摘 要: 恢复丢失的数据库文件在很大程度上取决于所采用的备份策略。本文从恢复的灵活性出发,对Oracle8数据库的备份及恢复策略进行了探讨,
- 原由定期更换密码是一种非常重要的安全措施,这种做法可以有效地保护你的账户和个人信息不受黑客和网络攻击者的侵害。密码泄露是一个非常普遍的问题,
- 一、多表查询多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间
- 本文实例为大家分享了js浏览器倒计时跳转页面效果,供大家参考,具体内容如下效果图:<!DOCTYPE html><html
- 1. 线程的概念:线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程
- 我们讲了requests的用法以及利用requests简单爬取、保存网页的方法,这节课我们主要讲urllib和requests的区别。1、获
- 1 前言很多程序都要求用户输入某种信息,程序一般将信息存储在列表和字典等数据结构中。用户关闭程序时,就需要将信息进行保存,一种简单的方式是使
- 大家在用django写完模型代码后,肯定都迫不及待的将模型翻译为迁移文件然后migrate吧,后来发现以后模型要修改的话再python ma