基本信息
源码名称:java采集csdn文章(jsoup爬虫示例)
源码大小:0.02M
文件格式:.zip
开发语言:Java
更新时间:2019-04-25
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


package springboot.jsoup;

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

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

public class JsoupDemo {
	private static OutputStream os;

	public static void main(String[] args) {
		try {
			Document doc = Jsoup.connect("https://blog.csdn.net/qq_15260315").get();

			//指定文件名及路径
			File file = new File("D:\\jsoup\\word\\csdn.txt");
			if (!file.exists()) {
				file.createNewFile();
			}
			//获取标题和地址的对象
			Elements titles = doc.getElementsByClass("article-item-box");
			//写入本地
			PrintWriter pw = new PrintWriter("D:\\jsoup\\word\\csdn.txt","UTF-8");
			for (Element e:titles) {
				Elements a = e.select("h4").select("a");
				pw.println(a.attr("href"));
				pw.println(a.text());
				pw.println("------------------------------------------------------------------------------------------------------------------------------------");
				try {
					//增加访问量
					Document d = Jsoup.connect(a.attr("href")).get();
					//输出文章内容
					Elements view = d.getElementsByClass("htmledit_views");
					System.out.println(view.text());
					//如果有图片,获取页面上的图片保存到本地
					Elements imgs = view.select("img");
					if (!imgs.isEmpty()) {
						for (Element img : imgs) {
							int j = 0;
//						URL u = new URL(img.attr("src"));
							URL u = new URL("https://avatar.csdn.net/0/B/B/2_qq_15260315.jpg");
							HttpURLConnection connection = (HttpURLConnection) u.openConnection();
							//因为服务器的安全设置不接受Java程序作为客户端访问,所以设置客户端的User Agent
							connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
							//获取数据流
							InputStream is = connection.getInputStream();
							//写入本地
							os = new FileOutputStream(new File("E:\\jsoup\\img", a.text()   j   ".png"));
							byte[] b = new byte[1024];
							int i = 0;
							while ((i = is.read(b)) != -1) {
								os.write(b, 0, i);
							}
							is.close();
							os.close();
							j  ;
						}
					}
				}catch (Exception ex){

				}
			}
			pw.close(); //关闭输出流
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}