首页后端开发Pythonpython爬虫中IP为什么会出现延迟高的情况

python爬虫中IP为什么会出现延迟高的情况

时间2023-07-29 01:29:12发布访客分类Python浏览1604
导读:IP的的出现让我们很多的营销工作做得更便利,对于爬虫工作者来说更是让数据爬取的工作效率大幅度提升。但是我们也会遇到在使用了代理IP后出现了延迟高不稳定的情况。这是为什么呢?下面就来说一说。1、你使用的这个代理ip池的服务器使用的人数较多,或...

IP的的出现让我们很多的营销工作做得更便利,对于爬虫工作者来说更是让数据爬取的工作效率大幅度提升。但是我们也会遇到在使用了代理IP后出现了延迟高不稳定的情况。这是为什么呢?下面就来说一说。

1、你使用的这个代理ip池的服务器使用的人数较多,或者在使用高峰期,超过了服务器的承载能力,就会延迟较高影响了用户的正常使用;

2、客户端网络不佳,自行的网络环境问题,稍微有点波动,就会导致延迟升高。

3、要访问的目标网站不稳定,比如那种反扒很严的网站或跨国网站;

4、代理IP服务器网络环境不佳,比如不是BGP链路,无法为用户提供稳定的速度;

以上这些原因都可能会导致代理ip的延迟很高,在实际项目使用过程中午我们需要先经过严格的测试对比,严格选择优质的代理IP。经过多年爬虫经验,使用的代理很多,但是从代理使用的速度,延迟,稳定性,IP池大小,售后服务等综合来看,真正做的好没有几家,我们长期使用的有亿牛云和阿布云,这2家都是业务口碑最好的。

这里简单的给大家示例下其中一家亿牛云代理的使用,C Sharp爬虫程序配置代理ip教程,示例如下:

// 要访问的目标页面
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);
    


ServicePointManager.Expect100Continue = false;
    

var request = WebRequest.Create(targetUrl) as HttpWebRequest;
    

request.AllowAutoRedirect = true;
    
request.KeepAlive = true;
    
request.Method    = "GET";
    
request.Proxy     = proxy;
    

//request.Proxy.Credentials = CredentialCache.DefaultCredentials;
    

request.Proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass);
    

// 设置Proxy Tunnel
// Random ran=new Random();
    
// int tunnel =ran.Next(1,10000);
    
// request.Headers.Add("Proxy-Tunnel", String.valueOf(tunnel));
    


//request.Timeout = 20000;
    
//request.ServicePoint.ConnectionLimit = 512;
    
//request.UserAgent = "Mozilla/5.0 (Windows NT 6.3;
     Win64;
     x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36";
    
//request.Headers.Add("Cache-Control", "max-age=0");
    
//request.Headers.Add("DNT", "1");
    


//String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(proxyUser + ":" + proxyPass));
    
//request.Headers.Add("Proxy-Authorization", "Basic " + encoded);


using (var response = request.GetResponse() as HttpWebResponse)
using (var sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
    
    string htmlStr = sr.ReadToEnd();

}
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: python爬虫中IP为什么会出现延迟高的情况
本文地址: https://pptw.com/jishu/340383.html
服务器参数有哪些怎么选 html格式化网页的方式有哪些

游客 回复需填写必要信息