Python爬虫:selenium使用chrome和PhantomJS实用参数

简介: Python爬虫:selenium使用chrome和PhantomJS实用参数

chrome参数设置示例

from selenium import webdriver
options = webdriver.ChromeOptions()
# 设置语言
options.add_argument('lang=zh_CN.UTF-8')
# 不显示界面
options.add_argument('headless')
# 设置user-agent请求头
options.add_argument('user-agent=%s' % user_agent)
 # 设置代理        
options.add_argument('--proxy-server=%s' % proxy)
# http://127.0.0.1
# 图片不加载
prefs = {
    'profile.default_content_setting_values': {
        'images': 2
    }
}
options.add_experimental_option('prefs', prefs)
browser = webdriver.Chrome(chrome_options = options)
# 设置超时
browser.set_page_load_timeout(5)
browser.set_script_timeout(10)  # 这两种设置都进行才有效
# 设置窗口大小
browser.set_window_size(1366, 768)
# 访问网站
browser.get("https://www.baidu.com/")
# 截图
browser.save_screenshot("1.png")

参数设置


–user-data-dir=”[PATH]” 指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区。 
–disk-cache-dir=”[PATH]“ 指定缓存Cache路径 
–disk-cache-size= 指定Cache大小,单位Byte 
–first run 重置到初始状态,第一次运行 
–incognito 隐身模式启动 
–disable-javascript 禁用Javascript 
–omnibox-popup-count=”num” 将地址栏弹出的提示菜单数量改为num个。我都改为15个了。 
–user-agent=”xxxxxxxx” 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果 
–disable-plugins 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果 
–disable-javascript 禁用JavaScript,如果觉得速度慢在加上这个 
–disable-java 禁用java 
–start-maximized 启动就最大化 
–no-sandbox 取消沙盒模式 
–single-process 单进程运行 
–process-per-tab 每个标签使用单独进程 
–process-per-site 每个站点使用单独进程 
–in-process-plugins 插件不启用单独进程 
–disable-popup-blocking 禁用弹出拦截 
–disable-plugins 禁用插件 
–disable-images 禁用图像 
–incognito 启动进入隐身模式 
–enable-udd-profiles 启用账户切换菜单 
–proxy-pac-url 使用pac代理 [via 1/2] 
–lang=zh-CN 设置语言为简体中文 
–disk-cache-dir 自定义缓存目录 
–disk-cache-size 自定义缓存最大值(单位byte) 
–media-cache-size 自定义多媒体缓存最大值(单位byte) 
–bookmark-menu 在工具 栏增加一个书签按钮 
–enable-sync 启用书签同步 
–single-process 单进程运行Google Chrome 
–start-maximized 启动Google Chrome就最大化 
–disable-java 禁止Java 
–no-sandbox 非沙盒模式运行

phantomJS参数设置示例

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.proxy import ProxyType
dcap = dict(DesiredCapabilities.PHANTOMJS)
# 设置user-agent请求头
dcap["phantomjs.page.settings.userAgent"] = user_agent
# 禁止加载图片
dcap["phantomjs.page.settings.loadImages"] = False
phantomJS = webdriver.PhantomJS(desired_capabilities=dcap)
# 设置代理
_proxy = webdriver.Proxy()
_proxy.proxy_type = ProxyType.MANUAL
_proxy.http_proxy = proxy
# 将代理设置添加到webdriver.DesiredCapabilities.PHANTOMJS中
 _proxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)
phantomJS.start_session(webdriver.DesiredCapabilities.PHANTOMJS)
相关文章
|
3月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
189 6
|
4月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
226 5
|
2月前
|
分布式计算 MaxCompute 对象存储
|
3月前
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
194 6
|
3月前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
3月前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
149 4
|
4月前
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
4月前
|
数据采集 JavaScript 前端开发
JavaScript逆向爬虫——使用Python模拟执行JavaScript
JavaScript逆向爬虫——使用Python模拟执行JavaScript
90 2
|
4月前
|
Java 程序员 C++
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
49 0
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
|
4月前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
140 0

热门文章

最新文章