购导航xml解析学习总结

团购导航网站如:http://www.tuanp.com,,http://www.tuan800.com,首先需要对抓取的团购网站进行分析,因为很多团购网站没有对外的API即xml格式文件,然后对xml格式分析,且在后台录入xml格式标签,最后使用定时器每隔一段时间抓取。

1.团购网站信息Test.xml

<?xml version="1.0" encoding="utf-8"?>
<result>
<error>0</error>
<data>
<site>
<site_name>团购网站</site_name>
<site_title>团购标题</site_title>
<site_url>http://xxx.xxx.com</site_url>
</site>
<teams>
<team>
<id>21</id>
<link>http://xxx.xxx.com/team.php?id=21</link>
<large_image_url>http://xxx.xxx.com/upfile/team/2010/1013/12869663322493.jpg</large_image_url>
<small_image_url>http://xxx.xxx.com/upfile/team/2010/1013/12869663322493_index.jpg</small_image_url>
<title> Title1……</title>
<product> Product1…… </product>
<team_price>37.50</team_price>
<market_price>60.90</market_price>
<rebate>6.16</rebate>
<start_date>2010-10-14T00:00:00+08:00</start_date>
<end_date>2010-10-20T00:00:00+08:00</end_date>
<state>success</state>
<tipped>true</tipped>
<tipped_date>2010-10-15T10:55:14+08:00</tipped_date>
<tipping_point>10</tipping_point>
<current_point>192</current_point>
<conditions>
<limited_quantity>false</limited_quantity>
<maximum_purchase>0</maximum_purchase>
<expiration_date>2011-01-14T00:00:00+08:00</expiration_date>
</conditions>
<city></city>
<group></group>
</team>
<team>
<id>23</id>
<link>http://xxx.xxx.com/team.php?id=23</link>
<large_image_url>http://xxx.xxx.com/upfile/team/2010/1015/12870801418707.jpg</large_image_url>
<small_image_url>http://xxx.xxx.com/upfile/team/2010/1015/12870801418707_index.jpg</small_image_url>
<title> Title2…… </title>
<product> Product2……</product>
<team_price>58.00</team_price>
<market_price>298.00</market_price>
<rebate>1.95</rebate>
<start_date>2010-10-16T00:00:00+08:00</start_date>
<end_date>2010-10-19T00:00:00+08:00</end_date>
<state>success</state>
<tipped>true</tipped>
<tipped_date>2010-10-16T10:45:10+08:00</tipped_date>
<tipping_point>10</tipping_point>
<current_point>138</current_point>
<conditions>
<limited_quantity>false</limited_quantity>
<maximum_purchase>0</maximum_purchase>
<expiration_date>2011-01-16T00:00:00+08:00</expiration_date>
</conditions>
<city></city>
<group></group>
</team>
</teams>
</data>
</result>


2.后台java解析程序: //

按照路径定位解析技术:dom4j解析

public static void main(String[] args) {
try {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("Test.xml"));
Element root = doc.getRootElement();

List list = root.selectNodes("//data/teams/team");

Element element;
for (int i = 0; i < list.size(); i++) {
element = (Element) list.get(i);

String id = getNodeText(element, "id");
System.out.println("id:"+id);

String title = getNodeText(element, "title");
System.out.println("title:"+title);

String image = getNodeText(element, "large_image_url");
System.out.println("image:"+image);

String dealUrl = getNodeText(element, "link");
System.out.println("dealUrl:"+dealUrl);
}
} catch (Exception e) {
e.printStackTrace();
}
}

public static String getNodeText(Element element, String nodename) throws Exception{
Node node = element.selectSingleNode(nodename);
if(node == null) {
throw new RuntimeException("标签错误");
}
return node.getText();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值