找回密码
 注册
查看: 2595|回复: 1

R语言读取淘宝的单品页的名称和价格

[复制链接]
发表于 2013-7-21 10:30:10 | 显示全部楼层 |阅读模式
  1. #lab1
  2. library(XML);
  3. url1<-"http://data.caixin.com/macro/macro_indicator_more.html?id=F0001&cpage=2&pageSize=30&url=macro_indicator_more.html#top";
  4. url<-htmlParse(url1,encoding="UTF-8")#把html文件读入r语言中并解析

  5. #找结点
  6. test <- getNodeSet(url,'//meta[@name]')#xpath语法找到html部件#显示的中文正常
  7. #读取结点的内容:xmlValue内部参数只能是一个字符串
  8. test_text_list<-sapply(test, xmlValue)#提取内容,多个的化以向量形式存储
  9. test_text<-xmlValue(test[[2]])#把test的第2个中的内容提取出来=test_text_list[2].注意,即时test只有一组数据也要使用test[[1]],不可以直接使用test(不是字符串)
  10. #读取结点的属性:xmlGetAttr内部参数只能是一个字符串
  11. content1<-xmlGetAttr(test[[1]], "content")#读取test[[1]]中的content内容。注意直接用test不可以。#显示的中文不正常
  12. content1<-iconv(content1,"UTF-8","gbk")#解决中文正常显示问题


  13. #lab2使用R语言爬取淘宝网站的笔记本商品价格和名称
  14. library(XML);
  15. url1<-"http://3c.taobao.com/detail.htm?spm=872.217037.254698.6.deIiSJ&spuid=205341228&cat=1101"
  16. url2<-"http://3c.taobao.com/detail.htm?spm=872.217037.254698.11.deIiSJ&spuid=203228104&cat=1101"
  17. read_taobao<-function(url){
  18.     name_text<-""
  19.     price_text<-""
  20.     i<-1
  21.     for(i_url in url){
  22.         i_url2<-htmlParse(i_url,encoding="UTF-8")#读取html数据
  23.         name<- getNodeSet(i_url2,"//div[@id='idetail']//div[@class='info-area']//div[@class='tlt clearfix']//h1")#通过xpath找到网页中的name
  24.         #xpath://任意位置的  @是属性
  25.         name_text_tmp<-xmlValue(name[[1]])#提取name的内容
  26.         price<-getNodeSet(i_url2,"//div[@id='idetail']//div[@class='info-area']//div[@class='key-info']//span[@class='price']")#通过xpath找到网页中的price
  27.         price_text_tmp<-xmlValue(price[[1]])#提取price的内容
  28.         name_text[i]<-name_text_tmp
  29.         price_text[i]<-price_text_tmp
  30.         i<-i+1
  31.     }
  32.     data.frame(name=name_text,price=price_text)
  33. }
  34. url<-c(url1,url2)
  35. read_taobao(url)
复制代码
回复

使用道具 举报

发表于 2013-7-25 10:56:39 | 显示全部楼层
楼主好强大!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2025-5-2 14:24 , Processed in 0.027493 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表