用R语言的RCurl和正则表达式爬团购网的旅游团购数据

前端之家收集整理的这篇文章主要介绍了用R语言的RCurl和正则表达式爬团购网的旅游团购数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

用R里的包Rcurl和正则表达式,代码如下

url1='http://www.dianping.com/search/category/2/10/g110'

web=readLines(url1,encoding='UTF-8'); #逐行读取网页源文件

data_name<-web[grep("data-name",web)];#找出含字符data-name的行
shop_name<-substr(data_name,regexpr('data-name=\"',data_name)+12,nchar(data_name)-28) #仔细看网页源文件,算出具体的字符位置

  1. > shop_name
  2. [1] "滋味港式粥火锅(工体店)" "宴山自助火锅(大悦城店)"
  3. [3] "簋小山城(亚运村店)" "女队长重庆火锅(工体店)"
  4. [5] "一湖重庆老火锅(燕莎桥店)" "色煮艺 • 私房火锅(蓝色港湾汇中天恒店)"
  5. [7] "女队长重庆火锅(望京店)" "格老灶火锅(悠唐店)"
  6. [9] "娘火锅(亚运村店)" "只耳冷锅鱼(保利店)"
  7. [11] "野菜日式火锅" "坊胜利饭店(四道口店)"
  8. [13] "军涮(广外店)" "火UFO芝士排骨&即席年糕火锅(南锣鼓巷店)"
  9. [15] "林串串香(东直门簋街店)" "格老灶火锅(石景山店)"
  10. [17] "方格火锅" "道火锅运动主题餐厅(天阶店)"
  11. [19] "塘火锅" "坊胜利饭店(大成路店)"
  12. [21] "簋小山城(簋街二店)"


主要函数注释:

grep("goods-name",web):在web行文件中,寻找含有字符”goods-name”内容的行,返回行号

position <- regexpr('_',a):regexpr()函数对字符的定位很有用,返回值position为特定字符的位置,如字符串a中’_’的位置

nchar(a):返回a的字符个数

猜你在找的正则表达式相关文章