初学java爬虫,用jsoup爬晋江免费章节

这篇博客介绍了如何利用Jsoup这个Java库来爬取晋江文学城的免费章节。首先,定义了小说和章节的实体类,接着详细讲解了获取小说和章节信息的工具类实现。此外,还提供了设置代理、登录以及获取cookies的相关代码片段,以应对网络限制和身份验证需求。
摘要由CSDN通过智能技术生成
  • 小说实体
public class Novel {
   
	String title;		//书名
	String author;		//作者
	List<Chapter> chapters;//章节
	String novelId;	//小说id
	String url;		//小说url

	public Novel(String novelId) {
   //构造函数
		this.novelId = novelId;
		this.url = NovelUtils.NOVEL_HOME_URL+novelId;
	}
	//getter、setter方法省略
}
  • 章节实体
public class Chapter {
   
	String chapterNum;		//章节号
	String chapterTitle;		//章节名
	String url;	//章节地址
	boolean isVip;	//是否vip
	String content;	//小说内容
	
	//getter、setter方法省略
}
  • 获取小说和章节工具类
public class NovelUtils {
   
	
	public final static String DOMAIN = "http://my.jjwxc.net";
	public final static String NOVEL_HOME_URL = "http://www.jjwxc.net/onebook.php?novelid=";
	public final static String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586";
	private final static String FILE_ENCODING = "UTF-8";	//文件编码
	
	public static Novel getNovelInfo(Novel novel) {
   
		//小说首页dom
		Document doc = null;
		try {
   
			doc = Jsoup.connect(novel.getUrl())
					.timeout(5000)
					.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8")//.header()设置头信息
					.header("Accept-Encoding", "gzip, deflate")
					.header("Accept-Language", "zh-CN,zh;q=0.9")
					.header("Cache-Control", "max-age=0")
					.header("Host", "www.jjwxc.net")
					.ignoreContentType(true)
					.ignoreHttpErrors(true)
					.userAgent(USER_AGENT)
					.get();
		} catch (IOException e1) {
   
			System.out.println("小说首页获取失败");
			e1.printStackTrace();
		}
		//小说名和作者名
		novel.setTitle(doc.getElementById("oneboolt").getElementsByTag("tbody").get(0).child(0).getElementsByTag("h1").get(0).text().trim());
		novel.setAuthor(doc.getElementById("oneboolt").getElementsByTag("tbody"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值