今天看到有人用Python爬取了链家网成都站的楼盘信息,我尝试用R做了同样的事情,具体代码如下:
library(rvest)
url0 <- 'http://cd.fang.lianjia.com/loupan/'
name=area=price=type=address=status=NULL
for(i in 1:10)
{
url <- paste(url0,"pg",i,sep = '')
web <- read_html(url)
name <- c(name,web %>% html_nodes('div.info-panel') %>%
html_nodes('a') %>% html_text())
address <- c(address,web %>% html_nodes('div.info-panel') %>%
html_nodes('div.where') %>% html_nodes('span.region') %>%
html_text())
b=web %>% html_nodes('div.info-panel') %>% html_nodes('div.area')
are=rep(0,length(b))
for (i in 1:length(b))
{
if (str_length(b[i]) > 60){
are[i] = b[i]%>% html_nodes('span') %>% html_text()
}else{
are[i] = 0
}
}
area=c(area,ifelse(are=='0','0',unlist(str_extract(are,'[0-9]+~[0-9]+|[0-9]+'))))
a <- web %>% html_nodes('div.info-panel') %>% html_nodes('div.average')
price=rep(0,length(a))
for (i in 1:length(a))
{
if (str_length(a[i]) > 100){
price[i] = a[i]%>% html_nodes('span.num') %>% html_text()
}else{
price[i] = 0
}
}
price=c(price,price)
type <-c(type, web %>% html_nodes('div.info-panel') %>%
html_nodes('div.type') %>% html_nodes('span.live') %>% html_text())
status <-c(status, web %>% html_nodes('div.info-panel') %>%
html_nodes('div.type') %>% html_nodes('span.onsold') %>% html_text())
}
data=data.frame(name,address,area,price=as.numeric(price),type,status)
DT::datatable(data)
部分结果如下
然后又爬取了北京、上海、深圳、广州等17个城市的新建楼盘,然后进行了分析
#雷达图
#绘制面积图
##条形图
##层次聚类
##楼盘在哪里(有些坐标可能有误,但总体趋势还行)
数据和代码链接:http://pan.baidu.com/s/1bpqspnL 密码:79zg
我们EasyCharts团队在网易云课堂等你来上课哦,长按下面的二维码就可进入网易学习课堂。本课程定价为19.9,在2017年1月11日前的打折优惠价为9.9。
Excel商业图表修炼秘笈-基础篇 - 网易云课堂 (二维码自动识别)
简介
真正的高手,不是会制作高难度的图表,而是能把最平常的图表绘制出商务范!小菜鸟,老司机,都不容错过本课程哦!
1. 这是Excel史上最全的基础图表类型讲解;本课程重点讲解了23个基础图表案例,包括Excel自动生成的柱形图,条形图,折线图,面积图,散点图,饼图,圆环图、雷达图,表格,卡片等常用商业图表。
2. 这是Excel史上最全的商业图表风格学习大全;本课程提供了5种商业图表风格的图表,包括《商业周刊》风格,《华尔街日报》风格1和2,《经济学人》风格1和2,共5种经典商业杂志图表的风格。
3. 本课程包括了150多张张商业图表演示Excel源文件。每个基础图表案例至少提供6种以上不同的图表风格演示,供读者选择与学习,可以满足不同人群的审美需求。
EasyCharts团队出品
帅的人都关注了EasyCharts团队^..^~
QQ交流群:454614789
微信公众号:EasyCharts
更多信息敬请查看: http://easychart.github.io/post/Easycharts/