换ip软件,代理ip软件,更改ip地址-智游代理
首页 IP软件套餐 HTTP代理套餐 API提取 使用帮助 新闻资讯 长效IP 注册 登录
在线咨询
大客户经理
大客户经理
13318873961

大客户经理微信

微信公众号

微信公众号

回到顶部
您的位置: 首页 > 新闻资讯 > 高质量代理ip > 正文

如何使用Jsoup和代理IP做数据抓取

发布时间:2019年09月23日 来源:智游代理 www.zhiyoudaili.com

如何使用Jsoup和代理IP做数据抓取?现在爬数据越来越难,各种反爬,简单的网站没做什么反爬,就随便介绍下:


随便找点网站弄点免费的http代理ip,去爬一下,太简单就不介绍了,目前最好用的代理ip是智游代理


具体说下,稍微有点爬虫技术含量的吧,怎么样伪装自己的爬虫程序,尽量避免反爬:


如何使用Jsoup和代理IP做数据抓取


1.请求头的user-agent参数必不可少,而且!!!!要随机,这里是大坑,我之前就是没有随机,然后爬了几天就被人反爬了,醉了,我当时还以为代理的问题,一直跟客服比比比比比,说他们代理被封了,后来才发现是我的请求头里面的user-agent被封了,然后心里愧疚的跟客服小姐姐抱歉了下。。。僵硬。user-agent是浏览器的标识,所以越多越好,大量的随机,跟代理ip一样重要!


来源!来源!说实话之前一直没发现,后来是访问某网站的时候发现的,反爬做这么多干嘛,累啊,互联网,数据大家一起用嘛!!请求头的referer这个参数就是记录的来源。为什么要伪装这个参数。我详细的说明下,你来源不伪装,就直接请求别人的接口,凭什么,他这个接口可能只是给页面调用的。。浏览器请求的时候都有来源,你不伪装,不就暴露了,具体传什么参数,不同的网站都不一样,可以F12看下浏览器请求的时候传的什么。


代理ip必不可少,这里用免费的就不太好了,因为既然要爬数据,肯定要快,ip的要求就比较高,而且要有效的数量比较多,不然别人网站升级什么的,你没爬完,爬虫程序就蹦了。所以让老板花钱省心省力提高效率。代理Ip的网站现在很多,我就不随便推荐了,免得查水表。


源码我就随便贴一下,应该是可以跑的,就是获取代理ip的url记得换下。


import java.io.IOException;


import java.util.*;


import java.util.concurrent.ExecutorService;


import java.util.concurrent.Executors;


import org.jsoup.Jsoup;


import org.jsoup.nodes.Document;


import org.slf4j.Logger;


import org.slf4j.LoggerFactory;


import net.sf.json.JSONObject;


public class Test{


//获取代理ip,记得更换,我用的是智游代理的,可以换成其他的网站的


private final static String GET_IP_URL="http://api.ip.goubanjia.com/dynamic/get.html?order=xxxx&sep=3&json=1";


public static void main(String[]args)throws InterruptedException{


List<String>addrs=new LinkedList<String>();


Map<String,Integer>addr_map=new HashMap<String,Integer>();


Map<String,String>ipmap=new HashMap<String,String>();


ExecutorService exe=Executors.newFixedThreadPool(10);


for(int i=0;i<1;i++){


Document doc=null;


try{


doc=Jsoup.connect(GET_IP_URL).get();


}catch(IOException e){


continue;


}


System.out.println(doc.text());


JSONObject jsonObject=JSONObject.fromObject(doc.text());


List<Map<String,Object>>list=(List<Map<String,Object>>)jsonObject.get("data");


int count=list.size();


for(Map<String,Object>map:list){


String ip=(String)map.get("ip");


String port=(String)map.get("port");


ipmap.put(ip,"1");


checkIp a=new checkIp(ip,new Integer(port),count);


exe.execute(a);


}


exe.shutdown();


Thread.sleep(1000);


}


}


}


class checkIp implements Runnable{


private static Logger logger=LoggerFactory.getLogger(aaa.class);


private static int suc=0;


private static int total=0;


private static int fail=0;


private String ip;


private int port;


private int count;


public checkIp(String ip,int port,int count){


super();


this.ip=ip;


this.port=port;


this.count=count;


}


 Override


public void run(){


Random r=new Random();


String[]ua={"Mozilla/5.0(Windows NT 6.1;WOW64;rv:46.0)Gecko/20100101 Firefox/46.0",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.32",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/534.57.2(KHTML,like Gecko)Version/5.1.7 Safari/534.57.2",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/45.0.2454.101 Safari/537.36",


"Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586",


"Mozilla/5.0(Windows NT 10.0;WOW64;Trident/7.0;rv:11.0)like Gecko",


"Mozilla/5.0(compatible;MSIE 10.0;Windows NT 6.1;WOW64;Trident/6.0)",


"Mozilla/5.0(compatible;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0)",


"Mozilla/4.0(compatible;MSIE 8.0;Windows NT 6.1;WOW64;Trident/4.0)",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/47.0.2526.106 BIDUBrowser/8.3 Safari/537.36",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/47.0.2526.80 Safari/537.36 Core/1.47.277.400 QQBrowser/9.4.7658.400",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/48.0.2564.116 UBrowser/5.6.12150.8 Safari/537.36",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",


"Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/48.0.2564.116 Safari/537.36 TheWorld 7",


"Mozilla/5.0(Windows NT 6.1;W…)Gecko/20100101 Firefox/60.0"};


int i=r.nextInt(14);


logger.info("检测中------{}:{}",ip,port);


Map<String,String>map=new HashMap<String,String>();


map.put("waybillNo","DD1838768852");


try{


total++;


long a=System.currentTimeMillis();


//爬取的目标网站,url记得换下。。。!!!


Document doc=Jsoup.connect("http://trace.yto.net.cn:8022/TraceSimple.aspx")


.timeout(5000)


.proxy(ip,port,null)


.data(map)


.ignoreContentType(true)


.userAgent(ua<i>)


.header("referer","http://trace.yto.net.cn:8022/gw/index/index.html")//这个来源记得换..


.post();


System.out.println(ip+":"+port+"访问时间:"+(System.currentTimeMillis()-a)+"访问结果:"+doc.text());


suc++;


}catch(IOException e){


e.printStackTrace();


fail++;


}finally{


if(total==count){


System.out.println("总次数:"+total);


System.out.println("成功次数:"+suc);


System.out.println("失败次数:"+fail);


}


}


}


}


转载注明来自:智游代理IP http://www.zhiyoudaili.com/

相关文章内容简介

1 代理IP的质量差异

在网络工作中,代理IP就是换IP非常好用的工具。用代理IP更换IP后,解决了IP限制问题,可以继续完成发帖。还有很多工作都可以用到代理IP,例如最常见的注册账号、投票、抢购等等。很多用户在选择代理IP时,喜欢货比三家,这不比不知道,一比吓一跳。同样是优质高匿动态代理IP,这家包月只要不到一百,而那家却要好几百。这是为什么呢?明明是相同的高匿代理,价格却差这么多?其实,虽然是同种类的代理IP,但由于代理IP服务商的实力不同,可能会导致价格差别很大。那么具体差在哪里呢?其实差别最大的就是IP资源。优质IP代理一定会有海量的IP资源,包括优质的IP数量,以及大量的网络结点和覆盖城市数量,这样可以保证用户可以随时随地的使用,而且可以保证使用时较低的复用率,例如智游代理平台,这都是有实力的代理IP服务商才能做到的。代理IP的价格一定是一分钱一分货的,我们在选择代理IP时也要充分考虑到这一点,选择最适合自己业务的代理,才能更好的保证工作效率。... [阅读全文]

2 为什么说免费的不如性价比高的代理IP

相信很多人一说代理IP就喜欢去搜索一下免费代理IP,免费的谁不喜欢呢?其实并不是这样。免费的不如性价比高的IP代理,为什么这样说,一起来看看。免费代理还没有使用,它已经失败了。不仅如此,一些网站还散布着各种各样的小广告,甚至还有一些自由代理人为了谋取暴利,还散布一些非法商人,但也种植了一些病毒,侵犯了消费者的权利和利益。所以免费的比如性价比高的。在选择代理IP时,首先考虑,IP地址的数量是否有保证?其次,是否有专业的技术团队进行后台操作和维护。这样IP才会稳定,这样的品牌更值得信赖。最后售后服务必须好。我们智游代理拥有海量IP、专业的技术团队、完善的售后,选择我们不会有错!... [阅读全文]

热门标签

推荐阅读

  1. 10

    2019-10

    使用了代理IP却访问不了网站是什么原因

    很多网络工作者都需要使用到代理IP,于是,他们在网上寻找代理IP,免费的,付费的,各种代理IP供应商的,都使用了一遍之后,可能发现了这样一个事实,没有百分之百可以用的代理IP,总是

  2. 28

    2019-08

    安全的私密代理ip怎么选择

    当下,人们已经离不开互联网,网络已经成为人们不可或缺的一部分。在人们享受网络快感的同时,网络安全和个人隐私也成了大众关心的话题。网络上的代理服务商非常得多,在这么多的服务

  3. 14

    2020-03

    发帖怎么用代理IP突破IP限制

    在论坛一些网站上发过帖子的人都知道,有时候我们的频繁操作可能会被网站的监控系统限制,提示被限制发帖,其实原因是我们的IP被限制了,这时使用代理Ip,替换一个IP就可以继续发帖了。

  4. 29

    2019-05

    物美价廉的高质量ip代理资源

    如今不只是行业内人员,即使是普通用户对于高质量ip代理资源肯定都不陌生。毕竟如今已随着互联网的发展有很多行业都需要用到高质量ip代理资源。同时在很多普通家庭中,一些用户在日常

  5. 14

    2019-05

    为什么要用高质量代理ip

    使用IP代理的人日益增多,但有一个奇怪的现象是,还有很多人不习惯付费使用,尽管有的IP代理是免费,但还是有许多不足之处。今天就来一起看看为什么要用高质量代理ip?免费代理IP有哪些

  6. 09

    2019-10

    金融行业如何使用代理IP

    现如今各个行业其实都跟互联网有着非常密切的联系,那金融行业相信大家都不会陌生,而现在的金融行业它都已经逐渐的和互联网相连接在一起,目前的金融行业经常打交道的文化就是数字文