最近,使用Jsoup爬取数据发现有的网站当你用自己的电脑爬取数据,次数多的时候就会发现本地的电脑就会连不上,原因是本地IP被限制或者拦截了。
因此,自己也找了一些资料,发现爬取数据的时候可以设置代理Ip,这样就不会发生本地Ip被封掉的危险了。代码如下:
//设置代理Ip
System. getProperties(). setProperty(" proxySet", "true");
System . getProperties() . setProperty("http. proxyHost", "111. 155.116.200"); //代理Ip
System. getProperties(). setProperty("http . proxyPort", "8123"); //端口号
HttpURLConnection connection = (HttpURLConnection) new URL(href) . openConnection();
connection. setConnectTime000000000); //设置连接时间
connection. setReadTimeout(000000); //设 置读取时间
connection. setUseCaches(false);
InputStream is = connection. getInputStream();
//防止读取的数据有中文乱码,可以设置编码
BufferedReader buffer = new BufferedReader( new InputStreamReader(is, charsetName: "GBK" ) );
StringBuffer bs = new StringBuffer();
String 1 = nu1l;
while( (1=buffer . readLine())!=nu1l) {
bs. append(1);
}
/ /Jsoup解析url读取到的字符串
Document doc = Jsoup . parse(bs . toString());