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学习笔记之os模块使用总结

    2023-05-12 07:46:21
  • 使用Dreamweaver MX表格排序功能

    2010-07-13 12:08:00
  • python实现多进程通信实例分析

    2023-04-08 19:44:05
  • 一个简单的JS显示日期代码

    2009-02-10 12:34:00
  • Python爬虫爬取商品失败处理方法

    2021-04-11 11:26:31
  • Python+Tableau广东省人口普查可视化的实现

    2022-02-12 21:53:59
  • Python中如何向函数传递列表

    2022-09-23 19:10:23
  • 如何绕过ODBC直接访问SQL Server?

    2010-05-18 18:13:00
  • Python-jenkins 获取job构建信息方式

    2022-01-11 19:06:17
  • Python获取当前脚本文件夹(Script)的绝对路径方法代码

    2021-05-27 09:57:52
  • 终端能到import模块 解决jupyter notebook无法导入的问题

    2022-11-19 19:26:29
  • Django项目如何给数据库添加约束

    2023-08-10 14:49:39
  • 为什么Python中没有"a++"这种写法

    2023-12-04 09:40:57
  • ASP.NET Core Authentication认证实现方法

    2023-07-21 12:21:31
  • Django框架 Pagination分页实现代码实例

    2021-08-18 19:32:52
  • Python用20行代码实现完整邮件功能

    2023-04-06 12:20:49
  • django views重定向到带参数的url

    2023-08-18 14:56:47
  • python实现简单tftp(基于udp协议)

    2021-01-30 15:01:23
  • ACCESS数据库遇日文时内存溢出的最简单处理办法

    2009-07-09 14:04:00
  • Python格式化字符串f-string的使用教程

    2023-10-07 22:33:29
  • asp之家 网络编程 m.aspxhome.com