R语言爬虫、新闻
2021/11/13 23:12:49
本文主要是介绍R语言爬虫、新闻,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
library(rvest) library(magrittr) library(jiebaRD) library(ggplot2) #载入rvest包 url <- 'https://www.thepaper.cn/' #需要爬取的网址 web <- read_html(url) #新闻主页对应的html文档 news <- web %>% html_nodes('h2 a') #读取html的节点 titles <- news %>% html_text() #将new传递到text管道函数得到新闻的title link <- news %>% html_attrs() link1 <- c(1:length(link)) for (i in 1:length(link)) { link1[i] <- link[[i]][1] } #得到新闻标签的三项属性信息 href id target link2 <- paste("https://www.thepaper.cn/", link1, sep = "") #获取网页的详细信息,【1】代表第一条信息 href内的新闻 news_content <- c(1:length(link2)) for (i in 1:length(link2)) { x <- read_html(link2[i]) %>% html_nodes('div.video_txt_l p') %>% html_name() y <- 'p' if (identical(x, y) == TRUE) news_content[i] <- read_html(link2[i]) %>% html_nodes('div.video_txt_l p') %>% html_text() else news_content[i] <- read_html(link2[i]) %>% html_nodes('div.news_txt ') %>% html_text() } #获取新闻每篇上架时间 news_date <- c(1:length(link2)) for (i in 1:length(link2)) { news_date[i] <- (read_html(link2[i]) %>% html_nodes('div p') %>% html_text(''))[2] } date <- c(1:length(link2)) time <- c(1:length(link2)) for (i in 1:length(link2)) { date[i] <- strsplit(news_date, split = ' ')[[i]][21] time[i] <- strsplit(news_date, split = ' ')[[i]][22] } news_01 <- data.frame(titles, date, time, url = link2, news_content) save(news_01, file = "thepaper1.Rdata") #获取正文的函数,读取link2,传递到nodes里,仅需获取正文text write.csv(news_01, file = "newspaperto.csv") #中文分析分词 library(jiebaR) wk <- worker() words <- segment(news_content, wk) library(dplyr) library(stringr) #停用库测试 wktest <- worker(stop_word = 'stop_words.txt') wordstest <- segment(news_content,wktest) text_dftest <- tibble(line= c(1:length(wordstest)),word = wordstest) text_dftest%>% count(word,sort=TRUE) #画图 text_dftest %>% count(word,sort=TRUE) %>% filter(n > 40) %>% mutate(word =reorder(word,n))%>% ggplot(aes(word , n)) + geom_col(fill="pink") + xlab(NULL)+ coord_flip()
注意。该爬虫只针对当时有视频和文字情况。未考虑其他格式,selector可能选择不正确
GitHub下载地址
(R语言爬虫)[https://github.com/lehoso/RWebCrawler]
这篇关于R语言爬虫、新闻的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)