行情宝 爬取

library(rvest)
library(rjson)
library(RMySQL)
##ȡʡ??ַ
url='http://hqb.nxin.com/hqb/queryPigPrice.shtml'
doc=read_html(url)
href1=doc%>%html_nodes('div[class="pt_city"] a')%>%html_attrs()%>%.[1:31]
sheng_name=doc%>%html_nodes('div[class="pt_city"] a')%>%html_text()%>%.[1:31]
sheng_href=c()
for(i in 1:31) sheng_href=c(sheng_href,href1[[i]])
sheng_area_id=gsub('[^0-9]','',sheng_href);names(sheng_area_id)=c()
sheng=data.frame(area=sheng_name,areaid=sheng_area_id,href=sheng_href,stringsAsFactors = F)


#####ȡ?е?ַ
shi=data.frame()
for(jj in 1:31){
URL='http://hqb.nxin.com'
url=paste0(URL,sheng_href[jj])
doc=read_html(url)
href2=doc%>%html_nodes('div[class="pt_city"] a ')%>%html_attrs()
shi_name=doc%>%html_nodes('div[class="pt_city"] a ')%>%html_text()
shi_href=c()
for(i in 1:length(href2)) shi_href=c(shi_href,href2[[i]])
shi_area_id=gsub('[^0-9]','',shi_href);names(shi_area_id)=c()
shi1=data.frame(area=shi_name,areaid=shi_area_id,areapid=rep(sheng_area_id[jj],length(href2)),
areapidname=rep(sheng_name[jj],length(href2)),href=shi_href,stringsAsFactors = FALSE)
shi=rbind(shi,shi1)
}
rm(shi1)
#############################################
shi_todaydata=data.frame()
for(i in 1:363){
URL='http://hqb.nxin.com'
url=paste0(URL,shi$href[i])
doc=read_html(url)
data1=doc%>%html_nodes('table[class="notable t_table"]')%>%html_table() ##
data2=data.frame(data1)
data2$X1=substring(data2$X1,1,23);data2$X2=substring(data2$X2,1,24);data2$X3=substring(data2$X3,1,24);data2$X4=substring(data2$X4,1,17)
data2=gsub('[\u4e00-\u9fa5]','',data2);data2=gsub('\t','',data2);data2=gsub('\n','',data2)
data2=gsub('\\(14%\\)','',data2);data2=gsub('\\(43%\\)','',data2);data2=gsub('\\(\\)','',data2);data2=gsub('\\/','',data2);
todaydate=doc%>%html_nodes('div[class="pt_tit"] ')%>%html_text() ##
todaydate=gsub('\t','',todaydate);todaydate=gsub('\n','',todaydate) ##
todaydate=substring(todaydate,nchar(todaydate)-7,nchar(todaydate)) ###
todaydate=gsub('\\(','',todaydate);todaydate=gsub('\\)','',todaydate)
todaydate=gsub('月','-',todaydate);todaydate=gsub('日','',todaydate);todaydate=paste0('2017-',todaydate)
data3=data.frame(area=shi$area[i],areaid=shi$areaid[i],areapid=shi$areapid[i],pigprice=data2[1],cornprice=data2[2],
beanprice=data2[3],date=todaydate)
shi_todaydata=rbind(shi_todaydata,data3)
}
#########
#library(RMySQL)
con=dbConnect(MySQL(),dbname='henan_xumuwang',host='localhost',port=3306,username='root',password='')
dbSendQuery(con,'set names gbk')
dbWriteTable(con,'pigdata_shi',shi_todaydata,append=TRUE,row.names=FALSE)
dbDisconnect(con)

转载于:https://www.cnblogs.com/yijiaming/p/10039235.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值