爬取豆瓣书籍数据(基于R)
优采云 发布时间: 2020-08-09 20:35爬取豆瓣书籍数据(基于R)
爬取豆瓣书籍数据
网络爬虫,就是从网页中获取须要的信息,提取相应的数据。
可以借助R语言爬虫获取网页数据信息,便于统计剖析。
常用的从网页中获取信息的包有RCurl,XML,rvest等 。还可以借助RSslenium包或则Rwebdriver包模拟浏览器爬取异步加载等较难爬取的网页信息。
本文便以爬取豆瓣影片数据为例,来描述网路爬虫过程。
爬取网址如下:
了解网页结构
所须要的数据概况:
从网页中大约能发觉,该网页富含书籍名称,书籍评分,书籍主题,出版时间,价格,作者名子,译者名子等数据信息。
再步入网页源代码界面找规律
可以发觉有非常一致的规律:
书籍名称:
红楼梦
作者/译者/出版社/出版时间/价格:
[清] 曹雪芹 著 / 人民文学出版社 / 1996-12 / 59.70元
评分信息:
9.6
(
278287人评价
)
下面便利用发觉的规律,利用R进行数据爬取。
自动搜集单个网页数据导出须要的包 ,导入须要的包;
library(dplyr)
library(rvest)
library(stringr)
读取网页,并进行数据提取 ,读取网页,程序如下:
alldata250%str_trim()%>%str_replace_all("\n|","")%>%str_replace_all(" ","")
head(name)
#作者/出版社/日期/年份/价格
place % html_nodes("p.pl") %>% html_text()
work u1 print(u1)
[1] "https://book.douban.com/top250?start=225"
其中i是从0开始降低,每个i对应一个网页页面,故可由i循环,以达到反复爬取网页数据的功能。
程序如下:
<p>library(dplyr)
library(rvest)
library(stringr)
alldata250%str_trim()%>%str_replace_all("\n|","")%>%str_replace_all(" ","")
head(name)
#作者/出版社/日期/年份/价格
place % html_nodes("p.pl") %>% html_text()
work