全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5692 5
2014-12-02
需要对汽车之间里某个车型论坛的评论进行爬虫,我需要抓取楼主、每层楼的评论、日期、层主是否为认证车主,然后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)




二维码

扫码加我 拉你入群

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

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

全部回复
2015-1-16 00:44:15
我琢磨着,你还是把没改过的HTML也贴上来看看
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

2015-2-4 10:17:11
用R做爬虫?它不擅长做这个吧,可以用Java或者Python,开源的很多
二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群