Java实现网页爬虫(Jsoup)获取网站ip数据(仅供学习,请勿使用于非法途径)

1、很多时候我们都需要爬取网页数据来做一些基础数据,随着需求的增加各种语言也逐渐支持爬虫,那么java能不能呢?答案是必然的,下面就是使用Java实现爬虫的所需jar包以及小脚本:
jar包所需图

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

/**
 * jsoup爬取网页数据
 * 核心在于理解代码
 * 而不是去无脑复制
 * 
 * @author Xuan
 * 
 */
public class proxytest1 {
	public static void main(String[] args) {
		List<Object> prefixips = new ArrayList<Object>();// 存起始ip地址
		List<Object> suffixips = new ArrayList<Object>();// 存结束ip地址
		List<Object> portarr = new ArrayList<Object>();// 存端口数量
			Document doc = null;
			try {
				doc = Jsoup.connect("http://ip.bczs.net/country/ID").get();//发起一个请求网页
			} catch (IOException e1) {
				e1.printStackTrace();
			}
			// 获取目标HTML代码
			Elements elements1 = doc.select("[class='well']");
			Elements elements2 = null;
			Elements elements5 = null;
			Elements elements6 = null;
			Elements elements3 = null;
			Elements elements4 = null;
			Elements elementsa = null;
			Elements elementsport = null;
			//获取子级定位目标标签
			elements2 = elements1.select("table");
			elements5 = elements2.select("tbody");
			elements6 = elements5.select("tr");
			//循环tr标签获取数据
			for (int i = 0; i < elements6.size(); i++) {
				elements3 =  elements6.get(i).select("td").eq(0);
				elementsa = elements3.get(0).select("a").eq(0);	// 第一个ip
				elements4 = elements6.get(i).select("td").eq(1);//第二个ip
				elementsport = elements6.get(i).select("td").eq(2);//端口数量
				prefixips.add(elementsa.text());
				suffixips.add(elements4.html());
				portarr.add(elementsport.text());
			}
			for (int i = 0; i < prefixips.size(); i++) {
				System.out.println("起始ip:"+prefixips.get(i)+"结尾ip:"+suffixips.get(i)+"端口数量:"+portarr.get(i));
			}
	}
}

2、效果如下图:
效果图
3、本次爬取的对方网址为:http://ip.bczs.net/country/ID

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值