链家网页爬虫_R爬虫小白入门:Rvest爬链家网+分析(一)
原标题:R爬虫小白入门:Rvest爬链家网+分析(一)
作者:汪喵行R语言中文社区专栏作者
知乎ID:https://www.zhihu.com/people/yhannahwang
前言
最近对爬虫有了莫名的兴趣,于是开始自学用R入门爬虫。爬链家网是因为网站源代码不是框架结构,并且不需要API就可以直接爬,没有什么反爬机制。想着正好拿上海二手房价来分析一波也是挺有趣的。
自己就把这个入门帖分一二三:
一会写如何在链家网上进行爬虫;二就拿数据来玩一玩,看看有什么有趣的东西;三是通过机器学习,根据其他的attributes来预测一套房子的均价。
package主要用到的有R的爬虫利器rvest,还有xml12,dplyr,stringr等
1rm(list=ls())
2library("xml2")
3library("rvest")
4library("dplyr")
5library("stringr")
首先我们library一下
我们想要的是,按照网页源代码,把我们想要的数据爬出来,然后放在同一个数据框里,这样比较便于分析,所以先设一个空的数据框:
1house_inf
之后我们就去链家网上看一看:上海二手房|上海二手房出售|最新上海二手房信息 - 上海链家网(https://sh.lianjia.com/ershoufang/)
不难发现,第一页的网页是:https://sh.lianjia.com/ershoufang/
第二页是:http://sh.lianjia.com/ershoufang/d2
第三页是:http://sh.lianjia.com/ershoufang/d3
第n页是:http://sh.lianjia.com/ershoufang/dn
然后我们就知道,其实就可以写一个for循环,把这个规律写进去就好了。
然后看一下想爬的信息:比如有楼层,单位价格,总价格,平米,所在的区域,楼层等等,然后为了便于分析,最后全部放在一个数据框里,写进csv文件就好。
1house_tag%html_nodes("div.info-table")%>%html_text()
发现
然后发现这个house_tag也是有点乱的:
我们会需要把“|”左右的变成一列列,比如拿第一个房子的格局来说,就可以这样:
1house_size
output就是:
其他的都是一样,就不赘述了,直接上源代码:
1rm(list=ls())
2library("xml2")
3library("rvest")
4library("dplyr")
5library("stringr")
6i
7house_inf
8for(i in1:300){
9web
10
11house_tag%html_nodes("div.info-table")%>%html_text()
12# overallprice
13house_p %html_nodes("span.total-price")%>%html_text()
14
15house_tag
16house_tag
17#size
18house_size
19#housetype
20#location
21house_loc
22#price_unit
23house_unitprice
24house_unitprice
25house_unitprice
26#m
27house_m
28house_m
29#level
30house_level
31house_level
32house_level
33house
34house_inf
35
36}
37
38#将数据写入csv文档
39write.csv(house_inf,file="house_inf.csv")
比较神奇的是,有几个变量我用“|”分割怎么都分割不开,最后无奈只好用gsub强行把我不要的去掉了。应该可以再简便。
好了最后我们得到了一个csv文件,下篇小白帖就可以开始玩这个数据啦!具体见下篇!
必胜绝招,就是把全部奉献给你所热爱的一切↓返回搜狐,查看更多
责任编辑:
链家网页爬虫_R爬虫小白入门:Rvest爬链家网+分析(一)相关推荐
- python爬虫什么书好_python爬虫入门06 | 爬取当当网 Top 500 本五星好评书籍
来啦,老弟 image 我们已经知道怎么使用 Requests 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 - 那么接下来 我们就使用 requests ...
- python爬虫入门练习——爬酷6网视频
'''爬虫爬酷6网视频练习version:01author:jasnDate:2020-02-18 '''import requests import refilepath = r'C:\Users\ ...
- web3小白入门:区块链的了解
记录web3学习的过程,从小白开始 所有的web3相关的学习内容都会更新在github,github地址 这篇文章主要说明区块链的一些概念 为什么要了解区块链? Web3 是以区块链技术为核心,构建新 ...
- 爬虫学习笔记(用python爬取东方财富网实验)
参考文章以及视频:(11条消息) 爬虫实战 | 爬取东方财富网股票数据_简说Python的博客-CSDN博客.手把手教你从东方财富网上获取股票数据_哔哩哔哩_bilibili.[Python爬虫案例] ...
- 爬虫学习(13):爬取坑爹网gif图
昨天学完了BeautifulSoup,爬取了诗词网,今天学了PyQuery,于是我选择爬取坑爹网 学啥用啥嘛,嘿嘿! 插个小曲:这是我qq群970353786,同在学习python,希望更多大神小白能 ...
- Python学习之路 (五)爬虫(四)正则表示式爬去名言网
爬虫的四个主要步骤 明确目标 (要知道你准备在哪个范围或者网站去搜索) 爬 (将所有的网站的内容全部爬下来) 取 (去掉对我们没用处的数据) 处理数据(按照我们想要的方式存储和使用) 什么是正则表达式 ...
- 爬虫百战(一):爬取当当网Top500本五星好评书籍
爬取当当网Top500本五星好评书籍 ==实战前提:== 准备工作 撸代码 成果展示 实战前提: 掌握requests库的使用 熟悉re库,正则表达式的简单使用 可参考我的另外两篇博客进行学习 准备工 ...
- 小白scrapy试炼-爬取慕课网免费课程
本文参考博客: scrapy爬虫-爬取慕课网全部课程 scrapy爬虫框架入门实例 准备工作: anaconda(为了简单安装scrapy) 安装scrapy的方法有好多种,原来在pip上花了挺多时间 ...
- 爬虫小白入门实例 —— 爬取全国某天所有火车的运行时刻表
受好朋友的委托,帮忙爬取全国某天所有火车的运行时刻表. 在此之前没有用过爬虫,但是会用python,所以迅速学习了一下. 把自己的学习过程整理如下,爬虫小白可以通过下述内容快速入门. 任务描述: 爬取 ...
- Python爬虫天气预报(小白入门)
这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬出来. 分析网站 首先来到目标数据的网页 http://www.we ...
最新文章
- C++实现统计从1到n中1出现的次数(另外一种方法)
- 伺服电机要计算机控制,计控 - it610.com
- android脚步---不同activity之间参数传递
- .NET Core Community 第三个千星项目诞生:爬虫 DotnetSpider
- SpringBoot:与MyBatis合作
- 1105学习笔记 数组的算法上
- python爬去segementfault上的博客文章
- Kubernetes详解(二十一)——ReplicaSet控制器实战应用
- html5-微格式-时间的格式
- python分词,提高分词准确率
- TouchDesigner处理串口数据
- php 颜值测试源码,微软小冰颜值测试PHP最新代码
- Java微信授权小程序获取用户昵称头像等基本信息
- java datasource使用_DataSource 使用方法
- NR 5G 无线帧与子载波
- 查询商品分类id为10或11的商品对应的商品信息
- 通过userAgent判断是是否手机、微信、手机厂家
- System Development Life Cycle(SDLC)系统生命周期
- 贝格尔编排法之C++版
- SQL leetcode 刷题答案(二)