selenium+python设置爬虫 * 的方法

作者:Kosmoo 时间:2021-10-01 11:14:33 

1. 背景

在使用selenium浏览器渲染技术,爬取网站信息时,一般来说,速度是很慢的。而且一般需要用到这种技术爬取的网站,反爬技术都比较厉害,对IP的访问频率应该有相当的限制。所以,如果想提升selenium抓取数据的速度,可以从两个方面出发:

第一,提高抓取频率,出现验证信息时进行破解,一般是验证码或者用户登录。

第二,使用多线程 + * , 这种方式,需要电脑有足够的内存和充足稳定的 * 。

2. 为chrome设置 *


from selenium import webdriver
chromeOptions = webdriver.ChromeOptions()

# 设置代理
chromeOptions.add_argument("--proxy-server=http://202.20.16.82:10152")
# 一定要注意,=两边不能有空格,不能是这样--proxy-server = http://202.20.16.82:10152
browser = webdriver.Chrome(chrome_options = chromeOptions)

# 查看本机ip,查看代理是否起作用
browser.get("http://httpbin.org/ip")
print(browser.page_source)

# 退出,清除浏览器缓存
browser.quit()

注意事项:

第一, * 最好是稳定的固定IP,不要选动态IP。我们常用的爬虫IP是高匿名动态IP,是通过拨号动态产生的,时效性很短,一般在1~3分钟。对于scrapy这种并发度很高,又不需要登录的爬虫来说,非常合适,但是在浏览器渲染类爬虫中并不适用。

第二, * 的速度。因为selenium爬虫采用的是浏览器渲染技术,本身速度就很慢。如果选择的 * 速度较慢,就会大大增加爬取的时间。

第三,电脑内存要够大。因为chrome占内存较大,在并发度很高的情况下,容易造成浏览器崩溃,也就是程序崩溃。

第四,在程序结束时,调用 browser.quit( ) 清除浏览器缓存。

3. 需要用户名密码验证的代理

参考文章:

Selenium chrome配置代理Python版:https://www.jb51.net/article/151634.htm

GitHub:https://github.com/RobinDev/Selenium-Chrome-HTTP-Private-Proxy

来源:https://blog.csdn.net/zwq912318834/article/details/78626739

标签:selenium,python,代理
0
投稿

猜你喜欢

  • Python实现命令行通讯录实例教程

    2023-10-18 01:51:28
  • python完成FizzBuzzWhizz问题(拉勾网面试题)示例

    2022-01-31 14:41:11
  • PDO::setAttribute讲解

    2023-06-05 18:04:23
  • MySQL表设计优化与索引 (十)

    2010-10-25 19:51:00
  • 浅析SQL Server授予了CREATE TABLE权限但是无法创建表

    2024-01-28 18:26:23
  • 低效的键盘和高效的登录框

    2007-08-22 09:17:00
  • 交互设计实用指南系列(1) – “有效性”之“操作入口明确”

    2009-12-11 18:42:00
  • Python用内置模块来构建REST服务与RPC服务实战

    2023-05-09 19:32:16
  • Go语言正则表达式示例

    2023-04-13 19:41:34
  • 解决Python selenium get页面很慢时的问题

    2022-08-29 02:08:22
  • Git分支管理策略

    2022-02-18 13:11:38
  • python连接PostgreSQL数据库的过程详解

    2023-08-24 03:42:31
  • python replace 空格数据处理的实现

    2022-12-24 04:33:44
  • MySQL 创建主键,外键和复合主键的语句

    2024-01-20 05:40:51
  • Django框架中方法的访问和查找

    2022-07-23 16:31:35
  • 三种Python比较两个时间序列在图形上是否相似的方法分享

    2023-04-26 20:57:12
  • 理解 XMLDOM 的节选

    2008-02-17 14:48:00
  • go GCM gin中间件的加密解密文件流处理

    2024-04-26 17:32:36
  • 能说明一下GETROWS的用法吗?

    2009-11-02 20:12:00
  • Python绘制词云图之可视化神器pyecharts的方法

    2022-12-08 14:38:44
  • asp之家 网络编程 m.aspxhome.com