jsoup抓取超链接和筛选

一:以浏览器的模式浏览网页

   在用jsoup获取你所需网页的信息时,如果你重复访问网页,就会被拦截,所以你要网页以为你是以浏览器的模式进行访问的,这样就可以使你的访问不受限,抓取你所需的信息。最开始要设置一下代理商,都在Response Headers里,复制一下就可以了,首先在你的网页下按Fn+F12打开审查元素,点击Network选项,找到第一个网络,之后点击Response Headers,把下面的信息都存在.header方法中,这样就可以了,代码如下:

String Agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36";
		String url="http://www.dianping.com/tianjin/ch10/g34032";
			Document doc = Jsoup.connect(url)
					.header("Cache-Control", "no-cache")
					.header("Connection", "keep-alive")
					.header("Content-Encoding", "gzip")
					.header("Content-Language", "zh-CN")
					.header("Set-Cookie", "s_ViewType=10; Domain=.dianping.com; Expires=Fri, 03-Jan-2020 01:29:01 GMT; Path=/")
					.userAgent(url)
					.get();
二:获取网页中的超链接并筛选

Elements links=doc.getElementsByTag("a");
		for(Element link:links){
			String linkhref=link.attr("href");
			if(linkhref.startsWith("http://www.dianping.com/shop/")&& linkhref.length()==36){
				System.out.println(linkhref);
			}
用Document的getElementsByTag方法,获取a标签,之后用attr方法属性是href的超链接,下面是一种讨巧的方法观察抓取的这些超链接中你想要获取的超链接有哪些特点,和与别的超链接有哪些不同,大家可以使用正则法则来命名你想要获取的超链接格式,再进行筛选,还可以用字符串的截取等方式。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值