1、网站情况及爬虫目标
打开网站:http://gwy.rst.fujian.gov.cn/positiontable,里面有福建省各个市的岗位情况,点击“福州”可以看到网页发生变化,变为:http://gwy.rst.fujian.gov.cn/positiontable/1.htm,出现福州市的岗位表单,同理,其他市的岗位情况对应的网址也只是在网址中的“1.htm”发生变化,分别是“2.htm-9.htm”。因此要爬取所有市的岗位就只需要套一个循环。
2、批量输出的路径
如果爬虫得到各个市的岗位表,那么需要一个个输出,现在可以先定义好路径,到时候可以在爬虫的循环代码里直接输出:
#输出路径
city<- c("福州", "莆田", "泉州", "厦门", "漳州","龙岩","三明","南平","宁德")
out1<-as.character()
out_filePath<-as.character()
for (j in 1:9)
{
print(city[j]);
outPath = "F:/考公/省考" ##输出路径
out1[j]=paste(outPath,city[j],sep='/') ##输出路径名
out_filePath[j]=paste(out1[j],"岗位",".csv",sep='')
}
out_filePath
3、爬虫代码
主要需要安装加载RCul包和XML包,并对包进行解析:
#安装包
install.packages("XML")
install.packages("RCurl)")
#加载包
library(XML)
library(RCurl)
#解析网页
for(i in 1:9)
{
url <- paste('http://gwy.rst.fujian.gov.cn/positiontable/',i,'.htm',sep='')
#这里网址随i的变化分别遍历9个表单
wp<-getURL(url,.encoding="utf8",followlocation=T)
doc <- htmlParse(file = wp,encoding ="utf8")#encoding看具体网页
tables <-readHTMLTable(doc,header=F)
write.csv(tables,file = out_filePath[i])#输出
}
4、结果
打开相应路径可以看到输出情况: