链家广州二手房的数据与分析——爬取数据



之前在博客分享了利用 R 和 rvest 包爬虫的基础方法。现在就来实战一下:爬取链家网广州 40,000+ 套二手房的数据。
lianjia homepage

之前在 Web Scraping with R 说过的爬虫方法在这篇中就不在赘述了。这里就分享怎么样爬取网站中翻页的数据。


>> Web Scraping across Multiple Pages


首先观察翻页页面的 url 规律,比如广州链家二手房数据:

第一页:https://gz.lianjia.com/ershoufang/

第二页:https://gz.lianjia.com/ershoufang/pg2/

第三页:https://gz.lianjia.com/ershoufang/pg3/

......

由此可推断,url 为 "https://gz.lianjia.com/ershoufang/pg" + 页码

1) 假设我们需要爬去第 1 页到第 100 页的房屋总价。那么我们可以先尝试爬取第一页的数据,并封装成一个函数.

getHouseInfo <- function(pageNum, urlWithoutPageNum) {url <- paste0(urlWithoutPageNum, pageNum)webpage <- read_html(url,encoding="UTF-8")total_price_data_html <- html_nodes(webpage,'.totalPrice span')total_price_data <- html_text(total_price_data_html)data.frame(totalprice = total_price_data)
}

2) 然后利用上述的函数循环爬取第 1 页到第 100 页的数据,并将多页的数据合并成一个 data frame

url <- "https://gz.lianjia.com/ershoufang/pg"
houseInfo <- data.frame()
for (ii in 1:1553){houseInfo <- rbind(houseInfo, getHouseInfo(ii, url))
}


>> Sample Code


知道如何爬取翻页的数据后我们就可以尝试完整的爬取广州链家网上 4w+ 套二手房的详细信息(包括区域,小区,几室几厅,有无电梯等等)了。

download here

数据量比较大,爬取数据需要一些时间。爬取完毕如果要保存数据需要注意选择适合的编码,不然容易乱码。提供一个可在 Mac Excel 打开的 cvs 格式。

data


>> 后续分析


  1. 链家广州二手房的数据与分析——数据分析1

转载于:https://www.cnblogs.com/yukiwu/p/10975337.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue脚手架搭建项目

全局安装vue脚手架 $ npm install -g vue-cli 卸载方法 $ npm uninstall -g vue-cli 查看vue版本&#xff08;注意&#xff1a;大写的V&#xff09; $ vue -V 创建项目 $ vue init webpack vue-app ? Project name vue-app ? Project description Vue Project ? Author Pr…

es安全组端口_从零开始在远程服务器(Linux)上搭建es,eshead和ik分词器

一、资源准备远程服务器一个&#xff08;本教程为CentOS 64位&#xff09;注&#xff1a;ik分词器版本需与es版本统一jdk1.8.0elasticsearch-head-master.zip二、开放端口注&#xff1a;本例采用的是阿里云服务器1.登录阿里云&#xff0c;选择控制台2.找到左上角的三条白线--》…

sipp模拟freeswitch分机测试(SIP协议调试)

1、freeswitch安装 1) 网上很多安装方法都不靠谱&#xff0c;系统版本&#xff0c;各种依赖库一堆问题&#xff0c;下面是验证的可行的。 yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-releaseyum install -y freeswitch-config-vanill…

hd计算机技术,BD和HD的区别是什么?

BD和HD的区别是什么?我们在网上下载电影的时候&#xff0c;往往发帖子的童鞋会提示我们影片的规格&#xff0c;如所谓BD1280或者HD1024等等&#xff0c;一些朋友搞不清楚这是什么意思&#xff0c;实际上我们只能说BD和HD的区别是什么&#xff0c;关于1280和1024那完全是分辨率…

Java比以往任何时候都摇滚

在TIOBE索引上 &#xff0c;Java和C长期以来一直排名第一和第二&#xff0c;并且随着最近发布的JDK 8 GA的发布&#xff0c;对于我们的社区来说&#xff0c;情况不会变得更糟。 Java简直就是岩石&#xff01; 它是构建几乎所有应用程序的最佳平台。 但是&#xff0c;为什么Ja…

滚动条判断是否滑动到顶部底部

/*** [滚动条]*/$(window).scroll(function() {var scrollTop $(this).scrollTop(); // 滚动条距离顶部的高度console.log("滚动条距离顶部的高度-->" scrollTop);var scrollHeight $(document).height(); // 当前页面的总高度console.log("当前页面的总…

DotNet软件开发框架

这是我4月份发在donews博客上的文章,现在都转到博客园来&#xff0c;风满袖希望进一步阐述你的架构&#xff0c;我就将这篇文章转移到博客园。原文&#xff1a;http://blog.donews.com/shanyou/archive/2005/04/23/347792.aspx 以我个人的能力&#xff0c;没有足够的时间和…

vue 拷贝 数组_vue 使用lodash实现对象数组深拷贝操作

我就废话不多说了&#xff0c;大家还是直接看代码吧~export default {mounted() {this.init();},methods: {init() {let lodash require(lodash);let obj1 {a: 1,b: { f: { g: 1 } },c: [1, 2, 3],h: () > {return 123;},k: undefined};let obj2 lodash.cloneDeep(obj1);…

VBA代码分行

VBA代码分行如果是语句可以直接在要换行的位加一个空格一个下划&#xff1a; Dim MyPath As String, MyName As String, _ tmpPath As String如果是字符串可以加以加一个空格一个&和一个空格加一个下划线&#xff1a;x "ABCDEFG" & _"HIJKLMNO" 转…

[Swift通天遁地]五、高级扩展-(6)对基本类型:Int、String、Array、Dictionary、Date的扩展...

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

JavaFX中的塔防(5)

这是本使用FXGameEngine在JavaFX中创建塔防游戏的正在进行的教程的第5部分。 敌人现在飞向目标的攻击路径&#xff0c;炮塔瞄准并射击。 因此&#xff0c;最重要的部分在那里&#xff0c;但是仍然缺少许多细节。 游戏只是开始而没有给我们机会为下一个浪潮做准备。 它不显示分数…

消息提示框-事件冒泡

1 <!DOCTYPE html>2 <html lang"en">3 4 <head>5 <meta charset"UTF-8">6 <title>事件冒泡-提示框</title>7 </head>8 <style>9 button {10 width: 160px;11 height: 30px;12 backgr…

我是如何解决asp.net程序在dreamWeaver中布局乱码的问题

每次把asp.net程序导入Dw2004中时&#xff0c;总是出现乱码&#xff0c;也不知道是什么原因。今天我就换了一个版本&#xff08;DW8&#xff09;&#xff0c;发现以前的问题全都没了。我想肯定是我的DW出现了问题&#xff0c;因为以前也出现过一次&#xff0c;也是重装后解决掉…

selenium3 + python - cookie定位

from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitimport timedriver webdriver.Chrome()# 启动浏览器后获取cookiesprint(driver.get_cookies())driver.get("https://www.cnblogs.com/Teachertao/")# 打开主页后获取cooki…

分段函数if语句_C语言函数系列之库函数中基础必会函数(一)

&#xff01;&#xff01;&#xff01;阅前提醒&#xff1a;&#xff01;&#xff01;&#xff01;此文为c语言函数系列的第一篇&#xff0c;全系列字数将达到1w字以上且全为干货内容&#xff0c;请各位仔细阅读并打开编译器运行文章中出现的代码进行试验以确保能理解文章内容i…

JavaFX中的塔防(6)

因此&#xff0c;我们已经在本教程的第6部分中&#xff0c;与此同时&#xff0c;游戏也取得了长足的进步。 在这一部分中&#xff0c;我们最终将添加一个显示得分的图层&#xff0c;已达到目标的敌人数量&#xff0c;启动下一个Wave的按钮以及用于购买新炮塔的资金。 说到钱&am…

教师计算机网络培训工作总结,教师培训工作的自我总结

【导读】教师培训工作的自我总结为好范文网的会员投稿推荐&#xff0c;但愿对你的学习工作带来帮助。教师是一个平凡而又伟大的职业&#xff0c;那教师培训工作总结怎么写呢?下面小编就和大家分享教师培训工作总结&#xff0c;来欣赏一下吧。教师培训工作总结(一)一年来&#…

十一 hashlib模块

# 1、什么叫hash:hash是一种算法&#xff08;3.x里代替了md5模块和sha模块&#xff0c;主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 &#xff0c;MD5 算法&#xff09;&#xff0c;该算法接受传入的内容&#xff0c;经过运算得到一串hash值 # 2、hash值的特点是&#xff1a…

c#中接口的使用方法图解_c# 接口方法中使用new有什么用?

慕盖茨44945811234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465//接口示例class Program { static void Main(string[] args) { S s new S(); s.Fun(); s.Method(); …

nginx知识问答

1、请解释一下什么是Nginx?  答&#xff1a;Nginx是一个web服务器和反向代理服务器&#xff0c;用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性&#xff1f;  答&#xff1a;Nginx服务器的特性包括&#xff1a; 1&#xff09;反向代理/L7负载均衡器 …