一、简介
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。(来源百度)
二、准备
首先你需要找到一个你需要爬取数据的网站,找到你需要的数据所在HTML中的定位
可以根据下面这个指令查看你定位是否正确
document.querySelector(".zwm").innerText
下面事具体实现:
public static void collectSingle() throws IOException{
//获取5页公司数据
for (int i = 1; i <=5; i++) {
//获取页面文本的地址 地址省略了
String addr = "http://www.*****.com/job/p"+i+".shtml";
URL url = new URL(addr);
Document doc = Jsoup.parse(url,5000);
//解析内容,提取数据
Elements as = doc.select("a.comName");
as.forEach(a->{
String href = a.attr("href");
href = "http://www.*****.com"+href;
//插入数据库的sql语句
String sql = "insert into com values (?,?,?,?,?,?,?,?,?)";
try{
//提取地址中的id
String sid = href.replaceAll("\\D+(\\d+)\\.shtml","$1");
int id = Integer.parseInt(sid);
SpiderHelper.collectSingle(href,sql,id,
".zwm>span",
".zwm>em",
".gsmc:nth-child(2)",
".jbyq",//要求
".fuli",//福利
".gsmc>a>span",//公司名称
".gsmc>span",//发布时间
".zwmsCon",//简介
".gzddCon>span");
} catch (IOException e) {
e.printStackTrace();
}catch (RuntimeException e){
//跳过DBhelper产生的运行是异常===》相同的公司数据
}
});
}
}
查看数据库,运行成功!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38437.html