phantomjs和selenium设置proxy、headers

100天精通Python丨黑科技篇 —— 21、大语言模型_100天精通python快速入门到黑科技 ChatGPT 是 OpenAI 推出的一种基于 GPT-3/4 的聊天机器人。chatgpt 的颠覆性影响主要体现在提高语言交流的便捷性、个性化服务、自动化客服和教育娱乐等方面,这些应用可以为用户带来更多的便利和乐趣,同时也为企业提供了更多的服务和商机。本文收录于,是由的硬核博主倾力打造,分基础知识篇和黑科技应用两大部分,欢迎订阅本专栏,订阅后可私聊进Python全栈VIP交流群(问题解答、互相帮助)还可领取20GPython视频和100本互联网行业电子书。 阅读详情
#!/usr/bin/python
# -*- coding:utf-8 -*-
__author__ = 'Yl-Zh'

import random,headers,xmlParse
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.proxy import ProxyType

phantomjs_driver='C:\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe'
ips=xmlParse.get_ip_port_from_xml('proxy_ip.xml')

def dynamic_load(url):
    desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
    # 从USER_AGENTS列表中随机选一个浏览器头,伪装浏览器
    desired_capabilities["phantomjs.page.settings.userAgent"] = (random.choice(headers.my_headers))
    # 不载入图片,爬页面速度会快很多
    desired_capabilities["phantomjs.page.settings.loadImages"] = False
    # 利用DesiredCapabilities(代理设置)参数值,重新打开一个sessionId,我看意思就相当于浏览器清空缓存后,加上代理重新访问一次url
    # proxy = webdriver.Proxy()
    # proxy.proxy_type = ProxyType.MANUAL
    # proxy.http_proxy = random.choice(ips)
    # proxy.add_to_capabilities(desired_capabilities)
    # 打开带配置信息的phantomJS浏览器
    # driver = webdriver.PhantomJS(executable_path=phantomjs_driver,desired_capabilities=desired_capabilities)
    driver = webdriver.PhantomJS(executable_path=phantomjs_driver)
    driver.start_session(desired_capabilities)
    # 隐式等待5秒,可以自己调节
    driver.implicitly_wait(5)
    # 设置10秒页面超时返回,类似于requests.get()的timeout选项,driver.get()没有timeout选项
    # 以前遇到过driver.get(url)一直不返回,但也不报错的问题,这时程序会卡住,设置超时选项能解决这个问题。
    driver.set_page_load_timeout(20)
    # 设置10秒脚本超时时间
    driver.set_script_timeout(20)

    driver.get(url)
    #next_page=driver.find_element_by_id (idd)#.get_attribute('href')
    #driver.get(next_page)
    #next_page
    html=BeautifulSoup(driver.page_source,'xml').prettify()
    print html
    return html

if __name__=='__main__':
    url='http://www.chnmuseum.cn/tabid/218/Default.aspx?DynastySortID=5'
    dynamic_load(url)


这里有一篇写得详细的参考博文:

1 http://www.51testing.com/html/31/n-3716731.html 

2 http://www.jianshu.com/p/9d408e21dc3a 

供拓展



python + seleinum +phantomjs 设置headers和proxy代理 最近因为工作需要使用selenium+phantomjs无头浏览器,其中遇到了一些坑,记录一下,尤其是关于phantomjs设置代理的问题。 基本使用 首先在python中导入使用的包,其中webdriver是要创建无头浏览器对象的模块,DesiredCapabilites这个类是浏览器对象的一些选项设置。 from selenium import webdriver from selen... 阅读详情

相关推荐

从零开始STM32cubeide学习

使用的是正点原子的精英版,单片机是STM32F103ZET6,详细讲解完成跑马灯实验

weixin_44077208的博客 2280

Selenium 修改 HTTP 请求头三种方式

Selenium是一个用于Web应用程序测试的自动化工具。它提供了一组API,可以与浏览器进行交互,模拟用户在浏览器中的操作,如点击、输入文本、提交表单等。Selenium支持多种编程语言,包括Python、Java、C#等。HTTP 请求头是 HTTP 协议的重要组成部分。它们定义了 HTTP 消息(请求或响应)并允许客户端和服务器与消息交换可选的元数据。它们由不区分大小写的头字段名称后跟一个冒号,然后是头字段值组成。标题字段可以扩展到多行,方法是在每一额外行前至少有一个空格或水平制表符。

Free355的博客 4731

Changer: Feature Interaction Is What You Need forChange Detection

还有“交换“交互是一种完全不需要参数和计算的操作,它是通过交换空间或通道维度上的双时态特征映射来实现的,交换的特征在经过后续的卷积或令牌混合时进行混合。方法二:提出了两种简单的交互策略,AD和特征“交换”,大量的实验表明,它们可以极大地提高MetaChanger的性能,特别是特征“交换”,即使嵌入到复杂的网络中或应用于具有挑战性的数据集。在这里,我们用虚线勾勒本文的重点。这是变化检测任务的基本问题,双时相图像提供了同一地区在不同时间点的图像数据,通过对比这两个时间点的图像,我们可以检测出该地区的变化。

yokon的博客 1622

selenium请求chrome如何添加header头

selenium的webdriver本身没有api能做这个事情,详见issue。国内的博客全抄来抄去,说selenium直接加add_argument参数就好了,弄得找了好几天找代码问题,上外网查秒解决。所以要学好计算机还是得英文呐~~

tomjobs的博客 6427

从Multibit到Debanking:芯片设计中的时序优化完整流程解析(含真实案例)

本文深入解析芯片设计中Multibit技术与Debanking的时序优化完整流程,结合7nm移动SoC真实案例,详细探讨Multibit的核心优势、实施条件及潜在风险,并提供Debanking的触发时机与操作策略。通过平衡Multibit与Debanking,工程师可有效优化PPA(Power-Performance-Area),提升芯片设计效率。

weixin_30316097的博客 460

Neo4j LLM知识图谱构建器使用教程

是一个开源应用程序,旨在将非结构化数据(如PDF、文档、文本、YouTube视频、网页等)转换为存储在Neo4j中的知识图谱。该项目利用大型语言模型(如OpenAI、Gemini等)从文本中提取节点、关系及其属性,并通过Langchain框架创建结构化的知识图谱。

u013250861的博客 541

Python 爬虫:requests 和 selenium 伪装 headers 和代理应对反爬机制

Python 爬虫:requests 和 selenium 伪装 headers 和代理应对反爬机制 目录 1、requests 伪装 headers 发送请求 2、selenium 模拟使用浏览器伪装 headers 3、requests 使用 ip 代理发送请求 4、selenium webdriver 使用代理 ip 在编写爬虫的过程中,有些网站会设置反爬机制,对于非浏览器的访问拒...

XnCSD的博客 2万+

在 ABAP 平台上搭建 OAuth 2.0 Server:架构、流程、权限与落地实战

摘要:本文为SAP ABAP开发人员提供将ABAP平台配置为OAuth 2.0授权服务器的实战指南。重点介绍两种授权流程(授权码和SAML Bearer)的实现方案,包括核心事务配置(SOAUTH2/SAML2)、授权对象(S_SCOPE)管理以及端点交互规范。通过具体配置清单和三类典型集成场景(第三方Web应用访问OData、企业集成平台调用、BTP应用对接)的落地示例,帮助读者快速构建安全的OAuth 2.0服务架构。文档强调SSL/TLS基础安全、scope最小授权原则以及授权与令牌端点的标准交互模式

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 311

Python下Selenium PhantomJs设置header的方法

Python下Selenium PhantomJs设置header的方法

weixin_48140410的博客 1648

Windows原生环境配置Tensorflow使用GPU

本文讲解如何在Windows原生环境搭建可调用GPU设备进行计算的Tensorflow2.x环境。 区别于WSL,使用Windows原始环境作为开发环境。

天然玩家的博客 1499

深度解析:C# Modbus TCP协议解析与异常处理(工控上位机必备)

协议解析要精准:掌握MBAP头和PDU的结构,尤其是常用功能码的请求/响应格式,避免因字节处理错误导致通信失败;异常处理要全面:覆盖通信层、协议层、数据层的所有异常类型,针对工业场景制定重试、重连、滤波等策略;资源管理要规范:使用释放资源,采用连接池复用连接,避免端口泄露;工业场景要适配:结合工控现场的特点(网络波动、电磁干扰、设备忙),优化通信效率和数据处理逻辑。通过以上解析和策略,可确保C#上位机与工业设备的Modbus TCP通信具备高稳定性、高可靠性、高容错性,满足工控领域的严苛要求。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 997

[169]selenium设置proxy、headers(phantomjs、Chrome、Firefox)

phantomjs 设置ip 方法1: service_args = [ '--proxy=%s' % ip_html, # 代理 IP:prot (eg:192.168.0.28:808) '--proxy-type=http’, # 代理类型:http/https ‘--load-images=no’, ...

周小董 2万+

Vue - 解决 Property or method “__v_isRef“ is not defined on the instance but referenced(浏览器控制台报错,代码没错)

vue,vue2控制台报错,vue报错Propertyormethod"__v_isRef"isnotdefinedontheinstancebutreferenced,vue代码没问题,但是报错Propertyormethod"__v_isRef"isnotdefinedontheinstancebutreferenced,vue2如何解决报错,vue怎么解决报错问题,vue2Propertyormethod"__v_isRef"isnotdefi

🏆 前端领域优质创作者 4501

selenium设置proxy、headers(phantomjs、Chrome、Firefox)

1.chrome浏览器 # !/usr/bin/python # -*- coding: utf-8 -*- from selenium import webdriver # 进入浏览器设置 options = webdriver.ChromeOptions() #谷歌无头模式 options.add_argument('--headless') options.add...

weixin_34122604的博客 511

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python Selenium 请求头的设置

谷歌浏览器: 一、chromeOptions相关配置 chromeOptions 是一个配置 chrome 启动是属性的类。通过这个类,我们可以为chrome配置如下参数(这个部分可以通过selenium源码看到): 1.设置 chrome 二进制文件位置 (binary_location) 2.添加启动参数 (add_argument) 3.添加扩展应用 (add_extension,...

chang995196962的博客 2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

OBS Studio 源码编译安装完整指南:三步搭建你的直播录制环境

OBS Studio 是一款免费的开源直播推流与屏幕录制工具,核心能力覆盖视频采集、多场景合成、编码、录制与推流五个环节。本文带你从源码把它完整装起来,适合直播内容创作者,也适合想魔改 OBS 插件的开发者。核心关键词:OBS Studio 安装、源码编译、跨平台构建。 ## 动手前:一张表核对硬件与工具链 先确认机器达标、工具就位,再开始克隆源码: | 项目 | 最低要求 | 推荐配置 |

gitblog_00833的博客 399

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

selenium基础3-修改header、cookies等webdriver初始options

虽然ip可以使用代理,但是在爬取过程中,浏览器请求还是很容易被waf等工具识别出来,非常容易被墙,所以在使用selenium的时候,就在想,能不能在发送请求的时候像使用request一样,动态修改header。 先说结论,在查阅资料以后,证明selenium不支持动态修改header请求,有些博主也给出了一些说法。 github issue WebDriver lacks HTTP respon...

辩学思问的博客 1万+

初次使用selenium

有的需要手动添加header头字段,而如果头字段的值是cookie的某个值呢,需要保持登陆状态。导入:from selenium import webdriver。对于需要登录的网站进行爬取,需要提供cookie等信息,接下来指定用户数据目录,就可以不需要登录了。

weixin_71982689的博客 663

用Selenium给chrome添加任意请求头信息

selenium chrome 添加headers 请求头字段

qq_31310579的博客 4630

Selenium修改HTTP请求头三种方式

什么是HTTP请求头 HTTP请求头是HTTP 协议的重要组成部分。它们定义了 HTTP 消息(请求或响应)并允许客户端和服务器与消息交换可选的元数据。它们由不区分大小写的头字段名称后跟一个冒号,然后是头字段值组成。标题字段可以扩展到多行,方法是在每一额外行前至少有一个空格或水平制表符。 标题可以根据其上下文进行分组: 请求头:HTTP 请求请求头用于提供有关正在获取的资源和发出请求的客户端的附加信息。 响应头:HTTP 响应头提供有关响应的信息。 以下是 HTTP 请求请求头中包含的主要信息: I

d513202的博客 1万+

Python爬虫技术 :设置headers和cookies

在 Python 爬虫中,设置headers和cookies是非常常见的操作,它们可以帮助你模拟浏览器行为,绕过一些网站的反爬机制,让请求看起来更像是正常用户的请求。下面将详细介绍如何在不同的 Python 库中设置headers和cookies。

代码逐梦人 1607

selenium 添加请求头

参考:https://www.cnblogs.com/zhao-ying-jie/p/7082723.html   headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q...

西门大盗 捉虫专家 1万+

使用phantomjs访问网站,高度自定义headers

由于在遇到的一个网站需要cookie才能访问成功,所以研究了一下如何给phantomjs设置cookie。既然能设置cookie,那么其余的头信息应该也能设置,下面就给大家说明如何实现。 下面是我们要附带给phantomjs浏览器的headers信息。 headers = {     'accept': "text/html,application/xhtml+xml,applicat

李谦的博客 3万+
上一篇: Windows下配置环境变量和需不需要重启问题
下一篇: Python-第三方库requests详解
Tcorpion
博客等级 码龄11年 32粉丝 54原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值