Java爬虫
正则表达式爬取规则:
1.把感兴趣的内容换成 (.*?)


2.找边界,找到能唯一标识的字符串边界,前面或后面的东西不要了换成 .*? 边界留着。


3.边界不删
4.选择爬取位置

原html文档
<li class="subject-item">
<div class="pic">
<a class="nbg" href="https://book.douban.com/subject/10554308/" onclick="moreurl(this,{i:'1',query:'',subject_id:'10554308',from:'book_subject_search'})">
<img class="" src="https://img1.doubanio.com/view/subject/s/public/s24514468.jpg" width="90">
</a>
</div>
<div class="info">
<h2 class="">
<a href="https://book.douban.com/subject/10554308/" title="白夜行" onclick="moreurl(this,{i:'1',query:'',subject_id:'10554308',from:'book_subject_search'})">
白夜行
</h2>
<div class="pub">
[日] 东野圭吾 / 刘姿君 / 南海出版公司 / 2013-1-1 / 39.50元
</div>
<div class="star clearfix">
<span class="allstar45"></span>
<span class="rating_nums">9.1</span>
<span class="pl">
(292596人评价)
</span>
</div>
<p>东野圭吾万千书迷心中的无冕之王
周刊文春推理小说年度BEST10第1名
本格推理小说年度BEST10第2名
《白夜行》是东野圭吾迄今口碑最好的长篇杰作,具备... </p>
<div class="ft">
<div class="collect-info">
</div>
<div class="cart-actions">
<span class="buy-info">
<a href="https://book.douban.com/subject/10554308/buylinks">
纸质版 29.60元
</a>
</span>
</div>
</div>
</div>
</li>经正则表达式修改后
<li class="subject-item">.*?src="(.*?)".*? <a href="(.*?)" title="(.*?)".*?<div class="pub">(.*?)</div>.*?<span class="rating_nums">(.*?)</span>.*?<p>(.*?)</p>
爬虫测试
package com.day1015.java;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
public class T2 {
public static void main(String[] args) throws Exception{
URL url = new URL("https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4");
InputStream is = url.openStream();
String text = new BufferedReader(new InputStreamReader(is)).lines().collect(Collectors.joining("\n"));
is.close();
String regex = "<li class=\"subject-item\">.*?src=\"(.*?)\".*? <a href=\"(.*?)\" title=\"(.*?)\".*?<div class=\"pub\">(.*?)</div>.*?<span class=\"rating_nums\">(.*?)</span>.*?<p>(.*?)</p>";
Pattern pattern = Pattern.compile(regex,Pattern.DOTALL);
Matcher matcher = pattern.matcher(text);
while(matcher.find()){
String img = matcher.group(1).trim();
String href = matcher.group(2).trim();
String title = matcher.group(3).trim();
String pub = matcher.group(4).trim();
String rate = matcher.group(5).trim();
String info = matcher.group(6).trim();
System.out.println(img);
System.out.println(href);
System.out.println(title);
System.out.println(pub);
System.out.println(rate);
System.out.println(info);
System.out.println("--------------------------------------------------");
}
}
}
测试结果
https://img3.doubanio.com/view/subject/s/public/s29053580.jpg
https://book.douban.com/subject/4913064/
活着
余华 / 作家出版社 / 2012-8-1 / 20.00元
9.4
《活着(新版)》讲述了农村人福贵悲惨的人生遭遇。福贵本是个阔少爷,可他嗜赌如命,终于赌光了家业,一贫如洗。他的父亲被他活活气死,母亲则在穷困中患了重病,福贵...
--------------------------------------------------
https://img1.doubanio.com/view/subject/s/public/s24514468.jpg
https://book.douban.com/subject/10554308/
白夜行
[日] 东野圭吾 / 刘姿君 / 南海出版公司 / 2013-1-1 / 39.50元
9.1
东野圭吾万千书迷心中的无冕之王
周刊文春推理小说年度BEST10第1名
本格推理小说年度BEST10第2名
《白夜行》是东野圭吾迄今口碑最好的长篇杰作,具备...
--------------------------------------------------
https://img3.doubanio.com/view/subject/s/public/s1103152.jpg
https://book.douban.com/subject/1084336/
小王子
[法] 圣埃克苏佩里 / 马振聘 / 人民文学出版社 / 2003-8 / 22.00元
9.0
小王子是一个超凡脱俗的仙童,他住在一颗只比他大一丁点儿的小行星上。陪伴他的是一朵他非常喜爱的小玫瑰花。但玫瑰花的虚荣心伤害了小王子对她的感情。小王子告别小行...
--------------------------------------------------
https://img9.doubanio.com/view/subject/s/public/s29179365.jpg
https://book.douban.com/subject/26923390/
长夜难明
紫金陈 / 云南人民出版社 / 2017-1 / 42.00元
8.5
麦家、鹦鹉史航、马伯庸、雷米、周浩晖都推崇的作家
社会派悬疑推理大神紫金陈“推理之王”系列第3部
改编网络剧《沉默的真相》,廖凡、白宇主演,即将重磅上线
第...
--------------------------------------------------
https://img3.doubanio.com/view/subject/s/public/s29793550.jpg
https://book.douban.com/subject/25955474/
坏小孩
紫金陈 / 湖南文艺出版社 / 2018-7-1 / 54.00元
7.3
麦家、鹦鹉史航、马伯庸、雷米、周浩晖都推崇的作家
社会派悬疑推理大神紫金陈“推理之王”系列第2部
改编网络剧《隐秘的角落》,秦昊、王景春主演,现已重磅上线
...
--------------------------------------------------
https://img1.doubanio.com/view/subject/s/public/s1070959.jpg
https://book.douban.com/subject/1007305/
红楼梦
[清] 曹雪芹 著、高鹗 续 / 人民文学出版社 / 1996-12 / 59.70元
9.6
《红楼梦》是一部百科全书式的长篇小说。以宝黛爱情悲剧为主线,以四大家族的荣辱兴衰为背景,描绘出18世纪中国封建社会的方方面面,以及封建专制下新兴资本主义民主...
--------------------------------------------------
https://img3.doubanio.com/view/subject/s/public/s1727290.jpg
https://book.douban.com/subject/1770782/
追风筝的人
[美] 卡勒德·胡赛尼 / 李继宏 / 上海人民出版社 / 2006-5 / 29.00元
8.9
12岁的阿富汗富家少爷阿米尔与仆人哈桑情同手足。然而,在一场风筝比赛后,发生了一件悲惨不堪的事,阿米尔为自己的懦弱感到自责和痛苦,逼走了哈桑,不久,自己也跟...
--------------------------------------------------
https://img3.doubanio.com/view/subject/s/public/s27237850.jpg
https://book.douban.com/subject/6082808/
百年孤独
[哥伦比亚] 加西亚·马尔克斯 / 范晔 / 南海出版公司 / 2011-6 / 39.50元
9.2
《百年孤独》是魔幻现实主义文学的代表作,描写了布恩迪亚家族七代人的传奇故事,以及加勒比海沿岸小镇马孔多的百年兴衰,反映了拉丁美洲一个世纪以来风云变幻的历史。...
版权声明:本文为weixin_44853310原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。