团购导航网站如: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();
}
分享到:
相关推荐
在易语言中,学习XML解析有助于开发者有效地读取、写入和处理XML文档,实现数据的存取和应用。 易语言XML解析主要涉及到以下几个关键知识点: 1. **XML基础**:首先,我们需要了解XML的基本结构和语法规则,如元素...
java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...
此外,深入学习LabVIEW的XML工具还可以让你更好地与其他编程语言和系统集成,因为XML作为一种标准的数据交换格式,具有广泛的跨平台兼容性。在实际应用中,结合LabVIEW的强大力量,XML解析器示例将为你提供灵活且...
根据给定文件中的标题、描述、标签以及部分内容,可以总结并深入探讨以下关于C#中XML解析的关键知识点: ### C#中的XML解析方式 #### 1. XML Text Reader(流式解析) - **简介**:在.NET框架中,`XMLTextReader`...
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...
总结,选择DOM还是SAX解析XML取决于具体需求,包括文件大小、处理速度、内存限制以及是否需要随机访问数据。在实际开发中,根据项目特点灵活选择合适的解析方式,能有效提高程序性能和资源利用效率。
STM32系列微控制器是基于ARM Cortex-M内核的单片机,广泛应用于嵌入式系统设计。在本文中,我们将深入...通过学习和实践这个示例,开发者可以掌握在STM32平台上进行XML解析的基本技巧,为未来的项目开发打下坚实基础。
本文将深入探讨XML解析和生成工具的相关知识,以及如何利用提供的`Markup.cpp`和`Markup.h`文件进行操作。 XML的结构: XML文档由一系列元素构成,每个元素都有一个开始标签和结束标签,如 `<tag>` 和 `</tag>`。...
在提供的文档中,如"XML解析技术研究.doc"、"DOM和SAX概念的总结.doc"等,可以深入探讨XML解析的细节,包括解析过程、性能比较、错误处理等。"stu_XML_34_1"和"tea_XML2"可能包含XML解析的实例代码,帮助理解实际...
TinyXML的优点包括小巧、易于集成、跨平台,适合小型项目和学习XML解析。 使用TinyXML解析XML文件的基本步骤如下: 1. 包含TinyXML库的头文件:`#include "tinyxml.h"` 2. 加载XML文件:使用`TiXmlDocument`类的`...
为了使用XML解析支持库,开发者需要了解库的API文档,学习如何初始化解析器、设置事件处理器(对于SAX和StAX),以及如何通过API进行XML操作。此外,良好的错误处理机制也是必不可少的,以应对XML解析过程中可能出现...
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件...同时,这也提供了一个学习和实践Java XML解析能力的好机会。
根据给定文件的信息,我们将深入探讨四种最常用的XML文件解析技术:DOM(Document Object Model)、SAX(Simple API for XML)、STAX(Streaming API for XML)以及DOM4j。 ### DOM解析 DOM是一种树型结构的数据...
总结来说,"STM32解析XML完整工程.zip"提供了一个在STM32微控制器上解析XML文件的完整解决方案,包括必要的软件资源和示例代码。通过学习和理解这些文档及代码,开发者可以掌握在嵌入式环境中处理XML数据的技术,为...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、自解释性和可扩展性而...同时,不断学习和了解其他解析库,如开源的DOM4J、TinyXML等,可以帮助开发者更好地应对各种项目挑战。
4. XML在实际应用中的示例:通过Windows Forms应用程序,学习如何将XML解析集成到实际项目中。 5. 图形化表示:学习如何使用图形辅助理解程序流程,提升程序设计的可视化能力。 通过深入研究这些文件,你可以提升...
JavaScript中的XML解析器是用于处理XML数据的关键工具,它允许开发者在浏览器环境中解析XML文档或者XML字符串,从而在Web应用中有效地使用这些数据。XML(eXtensible Markup Language)是一种结构化数据语言,常用于...
Java XML解析包主要指的是用于处理XML(eXtensible Markup Language)文档的库,它使得在Java程序中读取、写入、修改和操作XML变得简单。本篇将详细介绍使用Java进行XML解析的关键知识点,以dom4j-1.6.1为例。 1. *...
总结来说,"XML解析器安装包"提供了在Windows环境中处理XML文档的基础,而MFC中的#import指令和IXMLDOMDocumentPtr类则为我们提供了一种方便的途径来操作XML数据。通过这些工具,开发者可以轻松地在MFC应用中集成XML...