首页天道酬勤爬虫买个代理ip(爬虫为啥需要大量的ip)

爬虫买个代理ip(爬虫为啥需要大量的ip)

admin 12-08 00:34 187次浏览

本文只简单介绍代理ip的获取和使用,不介绍java爬虫。

如果你有时间,让我们打开一个关于爬行动物的单独系列。

代理ip介绍

为了防止IP被网站屏蔽,无法继续抓取页面,爬虫程序需要不断改变IP地址等信息,将自己伪装成真实用户。

知识产权代理的分类:

注:代理ip的机密信息来自互联网。

代理IP有透明代理、匿名代理、混淆代理和高低代理等几种。

1.透明代理。

远程ADDR=代理IP

HTTP_VIA=代理IP

HTTP_X_FORWARDED_FOR=您的IP

虽然透明代理可以直接“隐藏”你的IP地址,但你仍然可以从HTTP_X_FORWARDED_FOR中找出你是谁。

2.匿名代理

远程ADDR=代理IP

HTTP_VIA=代理IP

HTTP_X_FORWARDED_FOR=代理IP

匿名代理比透明代理好一点:别人只能知道你用了代理,却不能知道你是谁。

3.令人不安的特工。

远程ADDR=代理IP

HTTP_VIA=代理IP

HTTP _ X _ FORWARDED _ FOR=随机IP地址

如上所述,就像匿名代理一样,如果你使用了混淆代理,别人仍然可以知道你在使用代理,但你会得到一个假的IP地址,这使得伪装更加现实。

4.高匿名代理(精英代理或高匿名代理)

远程ADDR=代理IP

HTTP_VIA=未确定

HTTP_X_FORWARDED_FOR=未确定

可见,高尼的代理人让别人不可能发现你在使用代理人,所以是最好的选择。

第二,获取代理ip

你可以写一个小爬虫来抓取这些免费ip代理网站上的代理IP和端口号。

注意:可利用率真的很低,需要重新筛选后才能使用。

分享几个免费的IP代理网站:

1、西刺特工

http://www.xicidaili.com/

2、66自由代理网络

http://www.66ip.cn/

3.快速代理

http://www.kuaidaili.com/free/

4、大叔站(不容易用,端口号是图片,不容易爬。但据说IP质量还不错)

http://ip.zdaye.com/

免费的代理ip网站有很多,包括国内的和国外的,但是因为是免费的,可用率太低,所以获取后不可避免的要进行筛选。

Ip代理可以从各种网站抓取并放入数据库。

当一个ip地址被阻止时(检查响应中的状态码),一个新的ip使用被从数据库中取出。

同时,应定期检查数据库中的ip代理的可用性,不可用的ip代理应及时删除。

确定ip代理是否可用:

使用ip代理访问网站,如百度主页。如果响应中的状态码为200,则表示访问可以正常,则ip代理可用,否则不可用。

第三,在java爬虫中使用代理ip

使用代理IP完成实施代码:

package cn . mwx u16 . daili _ IP;

导入Java . io . ioexception;

import org . Apache . http . Httpentity;

import org . Apache . http . Httphost;

导入org . Apache . http . client . config . Requestconfig;

import org . Apache . http . client . methods . closeablehttpresponse;

import org . Apache . http . client . methods . HttpGet;

import org . Apache . http . impl . client . closeablehttpclient;

import org . Apache . http . impl . client . httpclients;

import org . Apache . http . util . entityutils;

/*

*演示1

*使用代理IP

*/

公共类Demo1 {

公共静态void main(字符串[]参数)引发异常(

CloseableHttpClient httpClient=httpclients . create default();//创建一个HTTPClient对象

HttpGet HttpGet=new HttpGet(' http://www . Baidu.com ';);//创建HTTP的获取请求实例

//=======设置代理IP

HttpHost代理=new HttpHost('58.243.207.87 ',9858);//设置代理IP的地址和端口号

request config=request config . custom()。设置代理。build();

http get . Setconfig(config);

//===================

//设置请求头信息模拟浏览器,在这里使用火狐浏览器的User-Agent。

httpget.setHeader('User-Agent ',' Mozilla/5.0(Windows NT 6.1;Win64x64RV :55.0)Gecko/20100101 Firefox/55.0’;

CloseableHttpResponse响应=null//创建CloseableHttpResponse对象

response=HttpClient . execute(Http get);

HttpEntity实体=响应。getentity();//获取返回实体(即返回的网页源码)

系统。出去。println(entityutils。ToString(实体,' utf-8 ');//输出网页源码

closeAll(响应,httpClient);//释放资源

}

//关闭所有资源

公共静态void closeAll(CloseableHttpResponse响应,CloseableHttpClient(httpClient){ 0

//关闭资源

尝试{

回应。close();//关闭反应

} catch (IOException e) { //IO异常

e。print stack trace();

}

尝试{

httpclient。close();//关闭httpClient

} catch (IOException e) { //IO异常

e。print stack trace();

}

}

}

————3354——end ——354

Java11:新的HTTP客户端发送带有x-www-form-urlencoded参数的POST请求怎么用vue实现动态路由开启日志 负载均衡 ULB使用VBA将附件插入XML标签
在internet中的IP(ip地址突然就不对了) 公网ip(ip地址分类及范围)
相关内容