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... 阅读详情

相关推荐

怎样自己亲手搭建一个四比特加法器

如何用三极管搭建一个四比特加法器 一、前言 作为大一上学期第一个大作业,最终还是拖到了冬学期的第八周,从第七周的周六开始,一直到第八周周五上午课上展示,中间连续熬了好几天的夜,另外,白天凡是有时间都用在研究它了,最终大约是用了30个小时,完成了这个四比特加法器的“从零到一”。 最终,小组得分92,个人分数100(贡献比35%),也不枉自己投入的心血 二、器材 电阻 1 包(10kΩ×100,1kΩ×50) 三极管 1 包(9013×100,LED×6) 跳线 3 短 1.5 长 电源 1 个 USB 线

qq_34771124的博客 1万+

Selenium 修改 HTTP 请求头三种方式

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

Free355的博客 4731

LaTex的下载与安装(2024小白+windows系统)

本文主要介绍了Latex的下载与安装,还包括安装过程中遇到的小问题的解决。

m0_53096519的博客 2万+

selenium请求chrome如何添加header头

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

tomjobs的博客 6427

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面

在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面。

坐听风雨 4563

Android AVB 分析(十六)5 个例子彻底理解 FEC(Reed-Solomon) 的工作原理

关于 FEC 是如何工作的,一直是我 Android OTA 讨论群中的未解话题,大家基本上都不清楚 Android 上面的 FEC 是如何工作的,为什么在 OTA 升级的最后阶段,FEC 的编码计算会消耗大量的 IO 资源,并持续很长时间。接下来的几篇,我会从一个程序员的角度,演示基于里德所罗门编码的 FEC 到底是如何工作的。

洛奇看世界 669

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

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

XnCSD的博客 2万+

一文读懂 STAR-CCM+:多物理场仿真王者,从入门到精通全攻略(附实战路线)

STAR-CCM+是西门子旗下的多物理场仿真平台,集流体、传热、结构、电磁等耦合求解于一体。其核心优势包括:全自动网格处理技术(支持十亿级网格)、多物理场无缝耦合、CPU/GPU并行加速计算、流程自动化与设计探索等。广泛应用于汽车(空气动力学优化、电池热管理)、航空航天(气动设计、发动机仿真)、能源(风电叶片流固耦合)、电子(芯片散热)等行业。相比ANSYS Fluent和OpenFOAM,STAR-CCM+在多物理场耦合和复杂几何处理方面更具优势,适合工业级高精度仿真需求。学习路径建议从基础操作入手,逐步

源代码杀手的博客 340

Python下Selenium PhantomJs设置header的方法

Python下Selenium PhantomJs设置header的方法

weixin_48140410的博客 1648

OpenCode + Oh My OpenCode:打造你的终极AI编程团队(OpenCode新手入门指南)

本文详细介绍了开源终端AI编程助手 OpenCode 的完整配置教程 🖥️,从安装、AI模型配置到增强插件 Oh My OpenCode 的部署一应俱全。支持 Claude、ChatGPT、Gemini 多模型切换 🤖,还能实现多AI智能体协作开发。步骤清晰适合新手 📝,想在终端用AI写代码的开发者不要错过 ✨

XiaoqiangClub的博客 1万+

【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知

Docker的监控,可以使用Docker自带的stats命令来获取当前主机上运行中的容器的资源使用情况。 例如:容器的CPU使用率、内存占用、网络IO以及磁盘IO等指标。

景天科技苑 6万+

[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万+

ESP32-CAM 赋能 AI 视觉巡检小车:自主避障与目标追踪实现全解析

本文基于 ESP32-CAM 实现了低成本 AI 视觉巡检小车的核心功能,硬件成本<100 元,兼顾自主避障与目标追踪。算法升级:移植 YOLOv5nano 量化模型(INT8),提升目标检测精度(如识别巡检场景中的 “异常物体”“人员”);无线拓展:通过 MQTT 协议将巡检图像、距离数据上传到阿里云 / 腾讯云,实现远程监控;多传感器融合:增加温湿度(DHT11)、红外测温(MLX90614)模块,扩展巡检维度;路径规划:结合 SLAM 算法,实现自主建图与路径巡检。

weixin_42300449的博客 368

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

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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、付费专栏及课程。

余额充值