网页qq抓取什么原理(郑州的哈()如何使用Jsoup去解析抓取数据?)

优采云 发布时间: 2021-12-29 21:18

  网页qq抓取什么原理(郑州的哈()如何使用Jsoup去解析抓取数据?)

  最近一直在公司使用爬虫技术爬取一些网页,查询网站记录信息。我刚开始用HttpClient和jericho(这两个也很好用,可以测试一下)。但是后来我发现了Jsoup,它和Jquery很像,在搜索节点上使用的技术也差不多。所以任何使用过 Jquery 的人都可以尝试使用 Jsoup 来解析和获取数据。下面举个例子,把所有的公交信息都抓出来(我是郑州人)。

  解析前需要jar包,直接下载即可。如果用maven更方便的话,只引入依赖

  例如

  

org.jsoup

jsoup

1.7.3

  好了,进入正题,我会用一个例子来证明如何连接网站,爬取,最后分析过程:

  package parserhtml;

import java.io.IOException;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.select.Elements;

public class ParserCarHtml {

static String url = "http://218.28.136.21:8081/line.asp";//公交website

public static Document getHtml(String domain){

Document html = null;

try {

//与网站建立连接,并拿到页面。(注意这里?号一定要加上,这也是抓取页面的过程,如果在浏览器中没有?,不用写,这点你可以参考浏览器是怎么解析的,然后试图模 //仿,不过今年来有些人用于非法解析,所以有些网站防爬虫,但是不用怕,在Jsoup中Connection中提供了一系列,添加Cookie,和一些请求参数的方法,这点你可以把 // 浏览器中的参数以key - value的形式copy进去 ,那么你的程序将模拟一个浏览器例如:

// Jsoup.connect(url+"?xl="+domain).data("", "").cookie("", "").get(); 这里面填写的分别是浏览器中的信息,你可以鼠标右键,审查元素,然后可以找到相应信息。*/

html = Jsoup.connect(url+"?xl="+domain).get();

} catch (IOException e) {

e.printStackTrace();

}

return html;

}

public static String PaserHtml(Document html){

Elements node = html.select("a");//进行你需要的选择元素。我的这个解析网站比较简单。你可以利用Jsoup中提供的方法去获取一些需要的元素。

String html1 = node.toString();

String html2 = html1.replaceAll("\\p{Punct}", "").replaceAll("[a-zA-Z]", "").replaceAll("\\p{Digit}", "");//利用正则表达式去解析网站

return html2;

}

public static void main(String[] args) {

getHtml("904");//这里的904是我随便输入的公交车路线。

PaserHtml(getHtml("904"));

System.out.println(PaserHtml(getHtml("904")));

}

}

  运行程序,输入你要查询的站点,就可以得到你要的数据,如下图:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线