投稿 资料上传 搜索
您现在的位置是: 首页 > 文章 > 正文

网络爬虫调用爬虫代理的常见方式

HTTP代理的性能:

1、突破自身IP访问限制

2、访问一些比较容易限制的网站

3、提高访问速度

4、隐藏真实IP,防止自身的IP被封锁。

代理实际上就是代理服务器,代理IP的功能就是模拟真实用户去访问目标网站。如果在中间设置了代理服务器,实际上就是在本机和被访问网站之间设置了一个桥梁,此时本机不是直接向目标网站服务器发起请求,而是通过代理服务器发出请求,这样我们同样可以正常访问网页,实现了本机真实IP的隐藏,避免限制本机IP被封禁,这就是代理的基本原理。

爬虫在抓取数据的时候,由于爬虫速度过于块,会出现同一个IP访问过于频繁的问题,此时网站就会出现验证或者是直接封锁本机IP,这样会给数据爬取带来很大的不便 使用代理隐藏真实的IP,这样在爬取过程中通过不断更换爬虫代理,就不会被限制,从而达到自己想要的需求。

网络爬虫加代理的常见几种方式:

1、Selenium调用代理 

from selenium import webdriver
import string
import zipfile

# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"

# 代理验证信息
proxyUser = "username"
proxyPass = "password"

def create_proxy_auth_extension(proxy_host, proxy_port,
proxy_username, proxy_password,
scheme='http', plugin_path=None):
if plugin_path is None:
plugin_path = r'D:/{}_{}@t.16yun.zip'.format(proxy_username, proxy_password)

  2、requests调用代理  

 // 要访问的目标页面

string targetUrl = "http://httpbin.org/ip";


// 代理服务器(产品官网 www.16yun.cn)
string proxyHost = "http://t.16yun.cn";
string proxyPort = "31111";

// 代理验证信息
string proxyUser = "username";
string proxyPass = "password";

// 设置代理服务器
WebProxy proxy = new WebProxy(string.Format("{0}:{1}", proxyHost, proxyPort), true);

  3、urllib调用代理  

 #! -*- encoding:utf-8 -*-


from urllib import request

# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"

# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"

# 代理验证信息
proxyUser = "username"
proxyPass = "password"


proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host" : proxyHost,
"port" : proxyPort,
"user" : proxyUser,
"pass" : proxyPass,
}

proxy_handler = request.ProxyHandler({
"http" : proxyMeta,
"https" : proxyMeta,
})

opener = request.build_opener(proxy_handler)

request.install_opener(opener)
resp = request.urlopen(targetUrl).read()

print (resp)


转载于:

文章标签:
阿里云服务器采购季
给作者打赏,鼓励TA抓紧创作!
评论

    友情提示

    你好!遇到什么技术难题了嘛?请点击我要提问,我们免费帮您解答!!!

    Linux中的Screen命令Linux之CentOS系统常用命令web前端开发面试题
    大家都在问