楼主: nieqiang110
3083 10

[问答] 网络数据爬虫 [推广有奖]

已卖:5520份资源

学术权威

60%

还不是VIP/贵宾

-

威望
0
论坛币
96679 个
通用积分
808.7710
学术水平
293 点
热心指数
351 点
信用等级
207 点
经验
9520 点
帖子
4801
精华
0
在线时间
5994 小时
注册时间
2007-7-26
最后登录
2025-12-26

楼主
nieqiang110 学生认证  发表于 2017-10-17 19:14:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位老师:
我想把中国保监会网站上的统计数据抓下来,但是做不了。请教哪位老师可以提供R代码,谢谢。
数据的网页是http://www.circ.gov.cn/web/site0/tab5205/info4084354.htm
先谢谢老师。
二维码

扫码加我 拉你入群

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

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

关键词:中国保监会 保监会网站 HTTP 统计数据 Site

回帖推荐

zhou1_20 发表于6楼  查看完整内容

zhou1_20 发表于2楼  查看完整内容

沙发
zhou1_20 发表于 2017-10-18 09:24:15
  1. library(rvest)
  2. library(stringr)

  3. url <- 'http://www.circ.gov.cn/web/site0/tab5205/info4084354.htm'
  4. web <- read_html(url)
  5. txt <- web%>%html_nodes('p.MsoNormal>span')%>%html_text()

  6. txt=txt[txt%>%str_trim()%>%str_detect('')]
  7. cnames=txt[2:7]
  8. value=txt%>%str_extract_all('[^\\x00-\\xff]*')%>%unlist()
  9. txtx=value[value%>%str_length()!=0]
  10. valuex=txt[!(txt%in%txtx)]%>%as.numeric()%>%matrix(ncol=5, byrow =T)

  11. namex1=txtx[txtx%>%str_length()==1]%>%matrix(ncol=2,byrow = T)%>%
  12.   apply(1,function(x) x%>%str_c(collapse = '  '))

  13. namex2=txtx[txtx%>%str_length()>1]

  14. cnames=namex2[2:7]
  15. colx1=c(namex2[8:9],namex1[1:18],namex2[10],namex1[19:33],namex2[11],namex1[34])

  16. fina_df=data.frame(colx1,valuex)
  17. names(fina_df)=cnames

  18. DT:::datatable(fina_df)

  19. 左图为抓取数据;右图为原始数据
复制代码


initpintu_副本.jpg (207.2 KB)

initpintu_副本.jpg

已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
nieqiang110 + 5 + 5 + 5 + 5 精彩帖子

总评分: 论坛币 + 5  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

藤椅
nieqiang110 学生认证  发表于 2017-10-18 09:27:50
感谢zhou1_20老师,非常感谢老师的帮助。尘埃落定。

板凳
nieqiang110 学生认证  发表于 2017-10-18 09:39:43
zhou1_20 发表于 2017-10-18 09:24
再次感谢zhou1_20老师的热心帮助

报纸
nieqiang110 学生认证  发表于 2017-10-18 10:40:58
zhou1_20 发表于 2017-10-18 09:24
zhou1_20老师:冒昧地再打扰一下,还是这个数据,有一个月份的格式有些变化,我调试了好久没有成功。网址是http://www.circ.gov.cn/web/site0/tab5205/info4074076.htm。请zhou1_20老师帮我看看。谢谢。尘埃落定。

地板
zhou1_20 发表于 2017-10-18 13:47:28
nieqiang110 发表于 2017-10-18 10:40
zhou1_20老师:冒昧地再打扰一下,还是这个数据,有一个月份的格式有些变化,我调试了好久没有成功。网址 ...
  1. library(rvest)
  2. library(stringr)

  3. url <- 'http://www.circ.gov.cn/web/site0/tab5205/info4074076.htm'
  4. web <- read_html(url)
  5. txt <- web%>%html_nodes('table.ke-zeroborder:nth-child(2)')%>%
  6.           html_table(header =T)
  7. txtx <- txt[[1]]
  8. txtxz <- txtx[-1,]
  9. names(txtxz)=txtx[1,]

  10. DT:::datatable(txtxz)
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
nieqiang110 + 5 + 5 + 5 + 5 精彩帖子

总评分: 论坛币 + 5  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

7
nieqiang110 学生认证  发表于 2017-10-18 14:00:32
zhou1_20 发表于 2017-10-18 13:47
太感谢zhou1_20老师了。尘埃落定

8
ccmchy 在职认证  企业认证  发表于 2017-10-18 17:39:18
厉害厉害

9
agan06 发表于 2017-10-18 19:05:49
厉害,真要好好地学

10
jgchen1966 发表于 2017-10-18 23:45:28
# 无需如此复杂吧

##################################################################
url<-"http://www.circ.gov.cn/web/site0/tab5205/info4074076.htm"

  webda<-read_html(url)%>%
   html_nodes("table")%>%
   html_table(fill=TRUE)%>%
    .[[8]]  ###   第八个表,
### 是一个全character型的data.frame ,所需数据全中其中了,
##  用tidyvese 包 作些简单处理,即可得所需的
#########################################################################
   


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

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