• 大小: 372KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Java
  • 标签: java  网络爬虫  

资源简介

通过java代码实现一个简单的网络爬虫效果,爬取智联招聘网站上的职位名,公司名,工作地点,工作薪资等。

资源截图

代码片段和文件信息

package com.wpc.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 * 用java代码实现一个简单的网络爬虫
 * 
 * @author wpc 
 * @创建时间:2018-01-11
 */
public class DownloadHtml {


/**
 * 
 * @param url  要抓取的网页地址
 * @param encoding   要抓取网页编码
 * @return
 */
public static String getHtmlResourceByUrl(String url String encoding) {
URL urlObj = null;
URLConnection uc = null;
InputStreamReader isr = null;
BufferedReader reader = null;

StringBuffer buffer = new StringBuffer();

// 建立网络连接
try {
urlObj = new URL(url);
// 打开网络连接
uc = urlObj.openConnection();
// 建立文件输入流
isr = new InputStreamReader(uc.getInputStream() encoding);

// 建立缓存导入 将网页源代码下载下来
reader = new BufferedReader(isr);

// 临时
String temp = null;

while ((temp = reader.readLine()) != null) {// 一次读一行 只要不为空就说明没读完继续读
// System.out.println(temp+“\n“);
buffer.append(temp + “\n“);
}

} catch (Exception e) {
e.printStackTrace();
} finally {
// 关流
if (isr != null) {
try {
isr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return buffer.toString();
}


/**
 * 
 * @param url    要抓取的网页地址
 * @param encoding   要抓取网页编码
 */
public static void getJobInfo(String url String encoding) {
// 拿到网页源代码
String html = getHtmlResourceByUrl(url encoding);
// 这里需要jar包   jsoupd.jar包
// 我们要抓取的智联招聘的职位,按放12点击最左上角的按钮
Document document = Jsoup.parse(html);
// 获取newlist_list_context_table里面的内容 id
// id是唯一的,通过id那到容器(指定了容器)
Element element = document.getElementById(“dw_tlc_mk“);
// 获取结果 根据class进一步确定目标的内容位置
Elements elements = document.getElementsByClass(“el“);

// 如果要从某个学校的每个教室拿某个东西,那么Element element =
// document.getElementById(“dw_tlc_mk“);表示先通过dw_tlc_mk找到学校(dw_tlc_mk相当于学校名字是唯一的)
// 那么Elements elements =
// document.getElementsByClass(“el“);表示找到每一间教室,el则表示教室(不止一间),之后的循环就是从每一件教室那你要的东西。
for (Element el : elements) {
// 职位名
String jobtitle = el.getElementsByClass(“t1“).text();
// System.out.println(jobtitle);

// 公司名
String companyName = el.getElementsByClass(“t2“).text();
// System.out.println(companyName);

// 工作地点
String jobAddress = el.getElementsByClass(“t3“).text();
// System.out.println(jobAddress);

// 工资
String wages = el.getElementsByClass(“t4“).text();
// System.out.println(wages);

// 直接在控制台打印
System.out.println(“职位名:“ + jobtitle + “\t公司名:“ + companyName + “\t工作地点:“ + jobAddress + “\t工作:“ + wages);

}
}

public static void main(String[] args) {
//网页地址
String url = “https://search.51job.com/list/190200000000000000999Java%2B%25E6%259E%25B6%25E6%259E%258421.html?lang=c&stype=1&postcha

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-02-15 22:10  java简单网络爬虫\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\
     文件         842  2019-01-10 21:11  java简单网络爬虫\Search\.classpath
     文件         906  2019-01-10 21:11  java简单网络爬虫\Search\.project
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\.settings\
     文件         567  2019-01-10 21:11  java简单网络爬虫\Search\.settings\.jsdtscope
     文件          83  2019-01-12 19:35  java简单网络爬虫\Search\.settings\org.eclipse.core.resources.prefs
     文件         364  2019-01-10 21:11  java简单网络爬虫\Search\.settings\org.eclipse.jdt.core.prefs
     文件         470  2019-01-10 21:11  java简单网络爬虫\Search\.settings\org.eclipse.wst.common.component
     文件         345  2019-01-10 21:11  java简单网络爬虫\Search\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2019-01-10 21:11  java简单网络爬虫\Search\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2019-01-10 21:11  java简单网络爬虫\Search\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\WebContent\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\WebContent\meta-INF\
     文件          39  2019-01-10 21:11  java简单网络爬虫\Search\WebContent\meta-INF\MANIFEST.MF
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\WebContent\WEB-INF\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\WebContent\WEB-INF\lib\
     文件      395748  2019-01-10 21:39  java简单网络爬虫\Search\WebContent\WEB-INF\lib\jsoup-1.11.3.jar
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\build\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\build\classes\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\build\classes\com\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\build\classes\com\wpc\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\build\classes\com\wpc\util\
     文件        4639  2019-02-15 22:01  java简单网络爬虫\Search\build\classes\com\wpc\util\DateDownUtil.class
     文件        3961  2019-02-15 22:01  java简单网络爬虫\Search\build\classes\com\wpc\util\DownloadHtml.class
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\src\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\src\com\
     目录           0  2019-02-15 22:07  java简单网络爬虫\Search\src\com\wpc\
     目录           0  2019-02-15 22:08  java简单网络爬虫\Search\src\com\wpc\util\
     文件        3901  2019-02-15 22:08  java简单网络爬虫\Search\src\com\wpc\util\DownloadHtml.java
     文件          35  2019-02-15 22:10  java简单网络爬虫\readme.txt
............此处省略0个文件信息

评论

共有 条评论