phantomjs 设置代理

phantomjs 可通过以下设置代理ip

#coding=utf-8
import os
import re
import time
import requests
from scrapy.selector import HtmlXPathSelector
from scrapy.http import HtmlResponse
from selenium import webdriver
from selenium.webdriver.common.proxy import ProxyType

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

import warnings
warnings.filterwarnings("ignore")

if __name__ == ‘__main__‘:
PATH_PHANTOMJS=r‘D:\phantomjs\bin\phantomjs.exe‘
browser=webdriver.PhantomJS(PATH_PHANTOMJS)
#真实ip
browser.get(‘http://icanhazip.com/‘) #获取ip网址
response = HtmlResponse(url=‘‘,body=str(browser.page_source))
hxs = HtmlXPathSelector(response)
print ‘your ip is:‘,‘‘.join(hxs.select(‘//text()‘).extract()).strip()
#代理ip
proxy=webdriver.Proxy()
proxy.proxy_type=ProxyType.MANUAL
proxy.http_proxy=‘220.248.229.45:3128‘
#将代理设置添加到webdriver.DesiredCapabilities.PHANTOMJS中
proxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)
browser.start_session(webdriver.DesiredCapabilities.PHANTOMJS)
browser.get(‘http://icanhazip.com/‘) #获取ip网址
response = HtmlResponse(url=‘‘,body=str(browser.page_source))
hxs = HtmlXPathSelector(response)
print ‘your proxy ip is:‘,‘‘.join(hxs.select(‘//text()‘).extract()).strip()

经测试,实际有效,截图如下:

后期可以考虑将此方法运用至下载中,减少爬虫被封的几率。

时间: 2025-01-04 06:22:38

phantomjs 设置代理的相关文章

Linux设置代理上网

Linux设置代理上网 在Linux中设置代理上网只需要设置个用户变量就可以,有如下几种代理方式: 代理方式 变量名 http代理 http_proxy https安全代理 https_proxy ftp代理 ftp_proxy 不使用代理的IP no_proxy 1.立即生效 [[email protected] ~]# export http_proxy=itxxx:123456@110.199.131.137:909 代理方式  =  用户名 : 密码 @ 代理地址:端口 #http_pr

设置代理的步骤

设置代理的几个步骤 (1)如果一个视图中的某个按钮被点击了,这个时候需要去主控制器中刷新数据.有一种做法是,让这个视图拥有控制器这个属性,然后当按钮被点击的时候去利用该属性去做刷新数据的操作.另一种做法是把控制器设置为这个视图的代理,当视图中的某个按钮被点击的时候,通知它的代理(主控制器)去干刷新数据这件事. (2)要成为代理是由条件的,有以下几个步骤 1).双方约定一个协议(代理协议,注意命名规范),在视图中自定义一个协议,协议中提供一个方法. @protocol YYHeaderViewDe

Android Studio设置代理

我们都知道Android Studio是基于IDEA开发的,而我们写的每一个程序又都是有Gradle构建的,Gradle的优点可以说是很多,被很多程序员夸得没边,但是它有一个特点还是值得我们注意的.我们每一次点击这个按钮来执行我们的程序时,都会先调用这个来进行构建,这个和Eclipse上还是不一样的,因为Gradle构建的时候要联网,但是联网就联网呗,偏偏还要连接到墙外面的网络,我当初刚刚涉足移动开发的时候可被它给坑苦了,现在想一想真是蛋疼啊,信心满满的装好了高大上的Android Studio

设置代理

设置代理: 例如: // 以UIPickerView为例 picker.dataSource = self; picker.delegate = self; picker.showsSelectionIndicator = YES; // 这个弄成YES, picker中间就会有个条, 被选中的样子 picker.autoresizingMask = UIViewAutoresizingFlexibleWidth

如何在android studio 1.0 启动时设置代理【解决WARN - ateSettings.impl.UpdateChecker - Connection failed.】

今天第一次用android studio,下了个比较新的1.0.1 linux版本,结果启动时老是出现以下错误: [ 6987] WARN - ateSettings.impl.UpdateChecker - Connection failed. Please check your network connection and try again. 百度了以下,都没找到可行方案,最后在google里找到了解决方案,在此记录下来,供大家参考. 方法1: 到android studio安装目录,打开

npm获取配置,设置代理

npm获取配置有6种方式,优先级由高到底. 命令行参数. --proxy http://server:port即将proxy的值设为http://server:port. 环境变量. 以npm_config_为前缀的环境变量将会被认为是npm的配置属性.如设置proxy可以加入这样的环境变量npm_config_proxy=http://server:port. 用户配置文件.可以通过npm config get userconfig查看文件路径.如果是mac系统的话默认路径就是$HOME/.n

android WIFI 设置代理代码 4.4.3——5.0

记录下android中设置代理代码 或许有朋友能用的上 适用于4.4.3 在5.0上android.net.ProxyProperties 找不到 估计API被谷歌拿掉了 4.4.4还没试估计API还在 private static String NOTPROXY = ""; //不走代理名单 private static List<String> list; //type为1设置wifi设置 为0是清除代理 public static void setWifi(Conte

手机连接内网设置代理--通过fiddler走本地

1.手机链接内网,设置代理 公司内网,两个KPI都能用,用户名:邮箱前缀,密码:邮箱密码 轻触wifi名字进入设置.服务器填写本机IP 2.fiddler设置

JAVA如何设置代理server,s取消代理erver

1.一个简短的引论 代理server(Proxy Server)是一种重要的server安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用. 代理server大多被用来连接INTERNET(国际互联网)和INTRANET(局域网).主要功能:就是代理网络用户去取得网络信息.形象的说,它是网络信息的中转站.本文主要介绍怎样使用java代码设置代理server. 主server为了防止被伪用户攻击,统一让用户通过代理server去訪问主server,这样做的安全性是显而