求帮忙制作一个JAVA HTMLParser Extractor解析器类 从HTML中提取所需要的信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求帮忙制作一个JAVA HTMLParser Extractor解析器类 从HTML中提取所需要的信息相关的知识,希望对你有一定的参考价值。

要提取的信息通用格式如下,一共需要提取六个信息(标题中的)书名、作者、出版社、出版时间、书号ISBN还有价格。
<title>《口译二阶段备考训练(附光盘)》陶伟 主编_简介_书评_在线阅读-当当图书</title>
<div class="show_info_left">作 者</div>
<div class="show_info_right"><a href="http://search.dangdang.com/?key2=%CC%D5%CE%B0&medium=01&category_path=01.00.00.00.00.00"; name="__infodetail_pub" target="_blank" class="c_green">陶伟</a> 主编</div>
</div>
<div class="clearfix m_t6">
<div class="show_info_left">出 版 社</div>
<div class="show_info_right"><a href="http://search.dangdang.com/?key=&key3=%CD%AC%BC%C3%B4%F3%D1%A7%B3%F6%B0%E6%C9%E7&medium=01&category_path=01.00.00.00.00.00"; name="__infodetail_pub" target="_blank" class="c_green">同济大学出版社</a></div>
</div>
<div class="clearfix m_t6">
<div class="show_info_left">出版时间</div>
<div class="show_info_right"></div>
</div>
<div class="clearfix m_t6">
<div class="show_info_left">ISBN</div>
<div class="show_info_right">9787560836096</div>
</div>

<div class="show_info_left">定 价</div>
<div class="show_info_right">
<i class="m_price"><em class="td_lh">¥ <span id="originalPriceTag">40.00</span></em></i></div>
如果有困难的话告诉我怎么做也行,任务紧,我来不及仔细学习正则表达式还有htmlParser了,所以求助各位大大,真的谢谢你们了!

正则表达式:<title>《(?<bookName>[\w\W]+?)》[\w\W]+?作 者[\w\W]+?name="__infodetail_pub" target="_blank" class="c_green">(?<作者>[\w\W]+?)</a> 主编</div>[\w\W]+?出 版 社[\w\W]+?name="__infodetail_pub" target="_blank" class="c_green">
(?<出版社>[\w\W]+?)</a></div>[\w\W]+?出版时间[\w\W]+?<div class="show_info_right">(?<出版时间>[\w\W]*?)</div>[\w\W]+?ISBN<div class="show_info_right">(?<ISBN>[\w\W]*?)</div>
参考技术A 试试jsoup,可以像jquery那样去获取你要的数据追问

嗯,我试试,不过,谢谢你啊!

求帮忙写个程序 JAVA C++都行

被测试函数:NextDate(date):date
ate:yyyy-mm-dd
函数功能:根据目前使用的日历历法,给出1900-1-1到2200-12-31之间,按照格式输入一个日期,给出明天的日期,包括出错处理(错误年份,错误月份,错误日期,不存在的日期)
要求:
1、设计测试用例文件:每行格式(输入,测试功能,预期输出)
2、写一个driver函数,功能:
(1)、读测试用例文件中的一个测试用例
(2)、调用result=NextDate(input)
(3)、测试结果写入测试结果文件中,每行格式(输入,测试功能,结果,预期结果)

主要类
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtils

public String nextDate(String cur) throws Exception
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
try
Date curDate = formater.parse(cur);
Calendar cal = Calendar.getInstance();
if (cal.get(Calendar.YEAR) < 1900 || cal.get(Calendar.YEAR) > 2200)
throw new Exception("年份必须在1900到2200年之间");

if (cal.get(Calendar.MONTH) < 1 || cal.get(Calendar.MONTH) > 12)
throw new Exception("月份必须在1到12月之间");

if (cal.get(Calendar.DATE) < 1)
throw new Exception("每月日期不得小于1");
else
switch (cal.get(Calendar.MONTH))
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (cal.get(Calendar.DATE) > 31)
throw new Exception(cal.get(Calendar.MONTH) + "月份只有31天");

break;
case 4:
case 6:
case 9:
case 11:
if (cal.get(Calendar.DATE) > 30)
throw new Exception(cal.get(Calendar.MONTH) + "月份只有30天");

break;
case 2:
if ((cal.get(Calendar.YEAR) % 4 == 0 && cal.get(Calendar.YEAR) % 100 != 0) || (cal.get(Calendar.YEAR) % 100 == 0 && cal.get(Calendar.YEAR) % 400 == 0))
if (cal.get(Calendar.DATE) > 29)
throw new Exception(cal.get(Calendar.YEAR) + "为闰年,2月份只有29天");

else
if (cal.get(Calendar.DATE) > 28)
throw new Exception(cal.get(Calendar.YEAR) + "为闰年,2月份只有28天");


break;
default:
break;



if (cal.get(Calendar.MONTH) < 1 || cal.get(Calendar.MONTH) > 12)
throw new Exception("月份必须在1到12月之间");

cal.setTime(curDate);
cal.add(Calendar.DATE, 1);
return formater.format(cal.getTime());
catch (ParseException e)
throw e;



测试类
import org.junit.Assert;
import org.junit.Test;

public class DateTest

@Test
public void getCurDate()
DateUtils du = new DateUtils();
String result = null;
try
result = du.nextDate("1901-15-12");
catch (Exception e)
e.printStackTrace();

System.out.println(result);
Assert.assertNotNull(result);

参考技术A java.util.Calendar 处理,很方便,有方法加

以上是关于求帮忙制作一个JAVA HTMLParser Extractor解析器类 从HTML中提取所需要的信息的主要内容,如果未能解决你的问题,请参考以下文章

用java编写一个应用程序:要求用户输入一系列字符串,每个字符串占一行 ? 求高手帮忙。。。

想在EX里写个求值公式要求:(A*B+C*D)/(B+D)=E其中ACE为已知数字求BD 请大神们帮忙啊!

求PS和Dreamweaver大神,帮忙制作个题目为《我的大学生活的》作业

JAVA捕获MYSQL主键冲突异常 示例如Exception ex 对应的异常 如何捕获,只要捕获,求满意答案

刚买了台联想Y50笔记本,系统是win8系统,想加装win7组成双系统,但找不到自带虚拟光驱,求大神帮忙。

求帮忙写个程序 JAVA C++都行