认识实习第二天java爬虫

在D盘创建文档

package com.yx.lesson;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

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

public class Demo1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			//用java代码模拟器模拟网页 但是不需要打开网页
			String url="http://www.xbiquge.la/13/13959/";//圣墟
			Document doc=Jsoup.connect(url).get();
			//System.out.println(doc);
			//#list > dl > dd:nth-child(3) > a
			//#list > dl > dd:nth-child(6) > a
			//doc.select 默认返回的是一个集合
			//橘黄色:<>中属性
			//
			//#list > dl > dd
			String bookName=doc.select("#info > h1").text();
			System.out.println(bookName);
			String bookautor=doc.select("#info > p:nth-child(2)").text();
			System.out.println(bookautor);
			Elements dd_els=doc.select("#list > dl > dd");
//			String zj_name =doc.select("#list > dl > dd:nth-child(1) > a").text();
//			System.out.println(zj_name);
			//增强for循环,意思就是dd_else是集合里面的元素都是element
			//那么这里就是循环dd_els这个集合 然后
			for (Element element : dd_els) 
			{
			//获取属性.attr()  获取文本.text()   获取内容.
				String zj_url=element.select("a").attr("href");
				String zj_name=element.select("a").text();
//				System .out.println(zj_url);
//				System .out.println(zjm_url);
				//网址
			zj_url="http://www.xbiquge.la/"+zj_url;
				//接下来 进入章节url获取章节内容
			Document zj_doc=Jsoup.connect(zj_url).get();
				
			String body=zj_doc.select("#content").html();
			body = body.substring(0, body.length()-181);
			body=body.replaceAll("&nbsp;","  ");
			body=body.replaceAll("<br>", "\n");
			
			System.out.println(body);
			Demo_1.download("d:\\",bookName,zj_name,body);
			System.out.println(zj_name+"xiazaiwancheng");
			
			}
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}	
	}
}

package com.yx.lesson;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

public class Demo_1 {
	/**
	 * 写入书籍
	 * @param path  路径 
	 * @param bookName 书名
	 * @param zj_name  章节名称
	 * @param body 章节内容
	 */
	public static void download(String path,String bookName,String zj_name,String body)
	{
		BufferedWriter bw=null;
		try {
			File file=new File(path+"\\"+bookName+".txt");
			//判断是否有这个书文件
			if(!file.exists())
			{
				//如果文件不存在 那么就创建这个文件
				file.createNewFile();
			}
			//这里加个true 是追加内容
			bw=new BufferedWriter(new FileWriter(file,true));
			//写入章节名称
			bw.write(zj_name);
			//换行
			bw.newLine();
			bw.write(body);
			bw.newLine();
			bw.flush();
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally
		{
			if(bw!=null)
				try {
					bw.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		}
	}
}

直接换网址就好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值