团购导航网站如: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();
}
分享到:
相关推荐
《360导航源码解析》 在互联网领域,网页设计和开发是至关重要的环节,而导航网站作为用户获取信息的门户,其源码更是学习和研究的重点。本篇文章将围绕"360导航源码"这一主题,深入探讨其背后的编程原理和技术应用...
8. **主题和样式**:为了达到团购应用的视觉效果,源码可能定制了主题和样式,包括颜色、字体、间距等,这些可能体现在`res/values`目录下的`styles.xml`和`colors.xml`文件中。 9. **权限管理**:如果涉及到网络...
- **XML解析**:如果接口返回的是XML格式,则需要使用DOM或SAX等方式解析。 #### 四、功能实现 **4.1 商品列表展示** - 在服务器端获取商品列表数据。 - 使用`RecyclerView`显示商品列表。 - 设置适配器以填充...
1. **布局设计**:源码中的XML布局文件展示了如何使用Android的LinearLayout、RelativeLayout、ConstraintLayout等布局管理器来构建复杂的用户界面,这些界面通常包含滑动菜单、顶部导航栏、轮播图、商品列表等元素...
1. 数据解析:使用Java的Apache POI库或其他语言的库,解析XML或JSON格式的POI数据。 2. 数据清洗:去除重复、错误或不完整的数据,确保分析结果的准确性。 3. 数据存储:将数据存储到数据库(如MySQL、MongoDB)或...
3. **API接口使用**:项目中提到获取团购网的API,这意味着需要理解RESTful API的工作原理,学习如何发送HTTP请求(GET、POST等)以获取数据,并将这些数据解析成JSON或XML格式,然后存入数据库。 4. **数据库设计...
获取到数据后,通常需要解析JSON或XML格式的响应,然后将数据填充到ListView或RecyclerView的Adapter中,以便显示。 在压缩包中的"10.08拉手网-团购碎片布局头部、城市列表头部、城市列表网络数据获取及展示(有bug...
回到前端,jQuery的$.ajax()方法接收服务器的响应,并更新页面上的相关内容,比如更改顶部导航的当前城市显示,或者动态加载新的团购列表。这样,用户就可以在一个流畅的体验中完成城市切换,无需等待整个页面重新...