要去广州工作了,所以抓取了广州租房信息看一下,来源是某家广州租房网。网上爬虫代码很多,对于简单的网页实现起来也很简单,直接上核心代码:

require(RCurl)         ##载入包
require(XML)
rm(list = ls())
GZsource <- data.frame()
system.time(for (i in 1:100) {if(i==1){webside ="http://xxxxxxxx.com/zufang/"}else{webside = paste("http://xxxxxxxx/zufang/pg", i, "/", sep = "")}url = getURL(webside, .encoding = "utf-8")url_parse = htmlParse(url, encoding = "utf-8")# 标题、链接node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='info-panel']//a[@title]")title_name = sapply(node, function(X) xmlGetAttr(X, "title"))Encoding(title_name) = "UTF-8"link = paste("http://sh.xxxxx.com", sapply(node, function(X) xmlGetAttr(X, "href")), sep = "")# 小区、户型、面积node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='where']//span")inf1 = sapply(node, xmlValue)xiaoqu = inf1[(1:length(title_name))*5 - 4]house_type = gsub("\\s+", "", inf1[(1:length(title_name))*5 - 2])size = as.numeric(gsub("[^0-9]*$", "", inf1[(1:length(title_name))*5 - 1]))# 区域、地段node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='other']//a")inf2 = sapply(node, xmlValue)area = inf2[(1:length(title_name))]#diduan = inf2[(1:length(title_name))*2 - 0]# 价格node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='price']/span[@class='num']")price = as.numeric(gsub("[^0-9]", "", sapply(node, xmlValue)))GZsource = rbind(GZsource, data.frame(title_name, link, xiaoqu, house_type, size, area, price, stringsAsFactors = FALSE))Sys.sleep(1)
})

为了分地区分析,我直接按照行政区分别进行的抓取,比如天河区如下:

Tianhe <- data.frame()
system.time(for (i in 1:100) {if(i==1){webside = "http://xxxxxxxx/zufang/tianhe/"}else{webside = paste("http://xxxxxxxx/zufang/tianhe/pg", i, "/", sep = "")}url = getURL(webside, .encoding = "utf-8")url_parse = htmlParse(url, encoding = "utf-8")# 标题、链接node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='info-panel']//a[@title]")title_name = sapply(node, function(X) xmlGetAttr(X, "title"))Encoding(title_name) = "UTF-8"link = paste("http://sh.xxxxx.com", sapply(node, function(X) xmlGetAttr(X, "href")), sep = "")# 小区、户型、面积node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='where']//span")inf1 = sapply(node, xmlValue)xiaoqu = inf1[(1:length(title_name))*5 - 4]house_type = gsub("\\s+", "", inf1[(1:length(title_name))*5 - 2])size = as.numeric(gsub("[^0-9]*$", "", inf1[(1:length(title_name))*5 - 1]))# 区域、地段node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='other']//a")inf2 = sapply(node, xmlValue)area = inf2[(1:length(title_name))]#diduan = inf2[(1:length(title_name))*2 - 0]# 总价node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='price']/span[@class='num']")price = as.numeric(gsub("[^0-9]", "", sapply(node, xmlValue)))# 单价# node = getNodeSet(url_parse, path = "//div[@class='list-wrap']//div[@class='price-pre']")# danjia = as.numeric(gsub("[^0-9]", "", sapply(node, xmlValue)))Tianhe = rbind(Tianhe, data.frame(title_name, link, xiaoqu, house_type, size, area, price, stringsAsFactors = FALSE))Sys.sleep(1)
})
Tianhe$District <- "天河区"

最后把每个区的合并起来就行:

GZhouse <- rbind(Tianhe,panyu,liwan,Yuexiu,haizhu,baiyun,luogang,huangpu,huadou,zengcheng)

最后结果如下

下一步就是在预处理后对房价进行可视化分析,看看现在不同区域的价格差异,等有时间再多找些数据以后多方位进行房价影响因素分析。
未完待续…

R语言抓取广州租房信息相关推荐

  1. tesseract破解css反爬抓取自如租房信息

    引言 作为一个刚毕业两年的打工人,在深圳这种房价压死人的城市,买房是不可能买房了,只能寄希望于租到一个便宜又舒适的房子.今天给大家带来的案例是tesseract破解css反爬抓取自如租房信息,将好房源 ...

  2. r语言抓取网页数据_使用R进行网页抓取的简介

    r语言抓取网页数据 by Hiren Patel 希伦·帕特尔(Hiren Patel) 使用R进行网页抓取的简介 (An introduction to web scraping using R) ...

  3. 用R语言抓取历史天气数据

    用R语言抓取历史天气数据 中国城市历史数据网保存有从2011年1月1日起的历史数据,包括天气.高低温以及风向和风力,对于需要分析气象数据又苦于无法得到数据的研究人员,爬取数据不失为一个办法中的办法.但 ...

  4. R语言抓取暴风魔镜评论数据并绘制各省市购买量热力图

    本博文地图绘制部分来源于开源中国openthings博主的博客 最终效果图: 第一部分为暴风魔镜评论数据的抓取 打开京东暴风魔镜的页面,可以看到是下面这个样子的: 我们要对评论进行抓取,一般电商的评论 ...

  5. 使用R语言抓取A股股价数据

    不出所料使用R抓取A股的股价又是一个非常轻松的事.上午刚刚说到咱们可以轻松拿到各证券的研报信息,那么咱们如果想分析一下,研报对于股价的影响,应该如何做呢? 一.还是安装包 install.packag ...

  6. r语言的runmed函数_使用R语言爬取DailyMed药物信息

    之前介绍过如何批量爬取NCBI中基因详细信息,今天介绍爬取DailyMed指定药物的数据. 根据指定药物药物及其ID列表(由ID可以获得该药的网页链接)爬取这些药物在DailyMed中的相关信息: D ...

  7. r语言抓取维基百科表格数据

    URL <- "file:///C:/Users/Administrator/Desktop/olympic_host.html" wiki<-read_html(UR ...

  8. python爬虫分析——广州租房信息爬取并分析

    一.在某网站上爬取相关数据 爬取到的数据情况如下: 二.数据的读取和预处理(爬取下来的数据没有缺失值和异常值) import pandas as pd import numpy as np impor ...

  9. [Python] scrapy + selenium 抓取51job 职位信息(实现 传参 控制抓取 页数+职位名称+城市)

    目录 一.目标 二.51job网页分析: 1.网页构成观察 2.网页分析 三.代码实现 1. 踩过的坑-----实现城市选择 2.代码实现 3.代码优化 1)存放格式优化 2)在爬虫中去掉\xa0\x ...

最新文章

  1. 为何我的BLOG不能DIY?
  2. php proc open 返回,PHP用proc_open新建子进程使用管道通信非阻塞执行PHP脚本
  3. 用surfaceView实现高性能动画
  4. postman设置带token的请求
  5. 卸载 插件_永远都不会卸载的CAD插件,好用到怀疑人生
  6. 前端学习(2785):实现导航的基本结构
  7. django-登陆案例-分析篇1909
  8. 在windows下挂载nfs文件系统
  9. 动手学深度学习(PyTorch实现)(六)--卷积神经网络基础
  10. FIT2CLOUD云管平台完成华为云鲲鹏云服务兼容性认证
  11. 支付宝第三方登录具体实现
  12. Unsupervised Super Resolution Reconstruction of Traffic Surveillance Vehicle Images
  13. 碎片化知识管理工具Memos
  14. Perfectly Secret Encryption
  15. Celery入门--定时任务的开发及运行
  16. pygame小项目 ~ 3 :Python完成简易飞机大战
  17. PIE-SDK V5.2 For .NET(3)——常用相关命令接口
  18. 9 本优秀的 R 语言免费电子书
  19. iOS App被Apple拒绝的原因
  20. mysql的strict_MySQL Strict SQL MODE

热门文章

  1. 网络爬虫笔记—图形验证码获取
  2. 【中秋系列】火遍Python的中秋节贺卡,现在学还不晚!
  3. GangSDK:为App快速加入社群系统
  4. 魔兽9月12服务器维护,魔兽世界怀旧服9月12日新增PVP服务器蓝贴公告 附带新服务器背景...
  5. 通灵学院|游戏设计研习4:游戏体验发生于场景★(1800字)
  6. (动画制作)C4D过山车小动画+建模(入门K帧练习)
  7. PC机和上位机是什么关系
  8. SQL中显示货币型数据[千分位符]
  9. 在vue中如何实现防抖功能?
  10. 第十四章 讲解如何去除和锁定网络验证暗装