楼主: sunnycelia
5771 5

[问答] 论坛评论爬虫-R语言 [推广有奖]

  • 1关注
  • 3粉丝

已卖:988份资源

硕士生

83%

还不是VIP/贵宾

-

威望
0
论坛币
4447 个
通用积分
27.2521
学术水平
3 点
热心指数
5 点
信用等级
3 点
经验
1388 点
帖子
61
精华
0
在线时间
283 小时
注册时间
2010-9-15
最后登录
2021-1-3

楼主
sunnycelia 发表于 2014-12-2 12:10:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
需要对汽车之间里某个车型论坛的评论进行爬虫,我需要抓取楼主、每层楼的评论、日期、层主是否为认证车主,然后write.table,但是我看不懂HTML语句,不知道一些代码该怎样转换为R语言,特别是红色字体部分,求解救!PS:以下的代码是我在别人对其他抓取其他网站的基础上改编过来的
library(RCurl)
library(bitops)
library(XML)
library(reshape)
#读取
start_url = "http://club.autohome.com.cn/bbs/thread-c-3126-29386112-1.html"
#构造请求头
cust_header =c("User-Agent"="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0",
"Accept"="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language"="en-us",
"Connection"="keep-alive")
#读取PageSouce
pagesource <- getURL(start_url,httpheader=cust_header,.encoding="utf-8")
#解析页数
parseTotalPage <- function(pagesource){
  doc <- htmlParse(pagesource)  
  as.numeric(sapply(getNodeSet(doc, '//div[@class="page"]/a[last()-1]/text()'), xmlValue))
}
#解析页面内容,获取门店名称、描述、优惠价,门店价
parseContent <-  function(pagesource){
  doc <- htmlParse(pagesource)
  x1<-sapply(getNodeSet(doc, '//div[@class="maxtitle"]//text()'), xmlValue)  #499编码所在行数
  x2<-sapply(getNodeSet(doc, '//div[@class="w740"]//text()'), xmlValue)  #508
   y<-data.frame(x1,x2)
}

#获取总页数和第一页内容
total_page <- parseTotalPage(pagesource)
pageresults <- parseContent(pagesource)
#生成2-n页url
page = 1:(total_page -1)
url_list = ""
url_list[page] = paste0("http://club.autohome.com.cn/bbs/thread-c-3126-29386112-1.html",page +1)
#循环读取url,并进行下载解析
for (url in url_list){
  pagesource <- getURL(url,httpheader=cust_header,.encoding="utf-8")
  pageresult <- parseContent(pagesource)
  pageresults <- rbind(pageresults,pageresult)
}
pageresults
#输出结果到文件
write.table(pageresults,"result.txt",row.names=FALSE)




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 Application connection Language Library R语言 网络 爬虫 HTML语句

已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
accumulation + 100 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 100  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

本帖被以下文库推荐

沙发
DM小菜鸟 发表于 2015-1-16 00:44:15
我琢磨着,你还是把没改过的HTML也贴上来看看

藤椅
liu7788414 在职认证  发表于 2015-2-3 21:29:27
你这个是XPath的语法,找本XPath的资料看看呗,//div[@class="maxtitle"]//text() 意思是寻找div的节点,它的class属性是"maxtitle",在这些div节点下再找text()节点。

板凳
whlgh 发表于 2015-2-4 10:17:11
用R做爬虫?它不擅长做这个吧,可以用Java或者Python,开源的很多

报纸
daishen 发表于 2015-2-4 13:57:22
通篇也没有看到什么门市价之类的东东,都是一些基础信息。
library(rvest)
f = tempfile()
download.file("http://club.autohome.com.cn/bbs/thread-c-3126-29386112-1.html", f)
fchars = readChar(f, file.info(f)$size)
stringi::stri_enc_detect(fchars)
futf8 = stringi::stri_encode(fchars, "GB18030", "UTF8")
futf = gsub('\r\r\n','',futf8)
text = futf %>% html(encoding = 'utf-8') %>% html_nodes('.w740') %>% html_text()

author = futf %>% html(encoding = 'utf-8') %>% html_nodes('.qt') %>% html_text() %>% gsub("引用|2014.*",'',.)

score = futf %>% html(encoding = 'utf-8') %>% html_nodes('.lv-curr') %>% html_text()
from = futf %>% html(encoding = 'utf-8') %>% html_nodes("a[href*='forum-a']") %>% html_text()
location = futf %>% html(encoding = 'utf-8') %>% html_nodes(".rightbutlz") %>% html_text()
time = futf %>% html(encoding = 'utf-8') %>% html_nodes("span[xname='date']") %>% html_text()

dat = data.frame(发帖 = author,来自 = from,楼层 = location,时间 = time,正文 = text)
> dat
            发帖          来自 楼层               时间
1     帅帅小奎哥     山东 烟台 楼主 2014-4-20 21:13:17
2  wangqihao1983     江苏 徐州 沙发 2014-4-20 21:30:14
3       milowong     福建 泉州 板凳 2014-4-20 22:00:51
4       田林的梦     江西 萍乡 地板 2014-4-20 23:09:04
5     帅帅小奎哥     山东 烟台  4楼 2014-4-20 23:13:47
6     帅帅小奎哥     山东 烟台  5楼 2014-4-20 23:14:20
7     帅帅小奎哥     山东 烟台  6楼 2014-4-20 23:14:32
8       makangle     山东 烟台  7楼 2014-4-20 23:22:23
9           锐信     广东 东莞  8楼 2014-4-20 23:27:31
10    帅帅小奎哥     山东 烟台  9楼 2014-4-20 23:33:46
11    帅帅小奎哥     山东 烟台 10楼 2014-4-20 23:34:54
12  曾经很潇洒吗 黑龙江 哈尔滨 11楼 2014-4-20 23:52:48
13    帅帅小奎哥     山东 烟台 12楼 2014-4-20 23:56:14
14      帝阁文明     山东 烟台 13楼 2014-4-21 01:01:53
15    帅帅小奎哥     山东 烟台 14楼 2014-4-21 07:56:35
16        刘俊睿         重庆  15楼 2014-4-21 08:07:35
17      饺子公主     河南 洛阳 16楼 2014-4-21 09:10:48
18    帅帅小奎哥     山东 烟台 17楼 2014-4-21 11:48:37
19    帅帅小奎哥     山东 烟台 18楼 2014-4-21 12:37:05
20 wangqihao1983     江苏 徐州 19楼 2014-4-21 15:55:47
21  马大帅她侄子         北京  20楼 2014-4-21 16:51:20

地板
bangmingshaw 发表于 2016-10-26 17:18:47
小白的一个问题,汽车之家的论坛里面的评论内容在源代码里都看不见是为什么?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-18 11:51