我在尝试获取RAIS数据(一份巴西雇员注册数据集),这些数据是使用Google Drive公共文件夹共享的,地址如下:
https://drive.google.com/folderview?id=0ByKsqUnItyBhZmNwaXpnNXBHMzQ&usp=sharing&tid=0ByKsqUnItyBhU2RmdUloTnJGRGM#list。
数据分为每年一个文件夹,在每个文件夹中有一个州每个文件要下载。我想自动化下载过程,在R中,对于所有年份,如果不是至少在每个年份文件夹内部。已下载的文件名应遵循手动下载时出现的文件名。
我知道一点R,但不懂web编程或网络爬虫。到目前为止,这就是我得到的: 通过手动下载2012年的第一份文件,我可以看到浏览器用来下载的URL: https://drive.google.com/uc?id=0ByKsqUnItyBhS2RQdFJ2Q0RrN0k&export=download。
因此,我认为文件ID是: 0ByKsqUnItyBhS2RQdFJ2Q0RrN0k。
在2012年的页面的html代码中搜索,我能够找到该ID及其关联的文件名:AC2012.7z。所有其他ID和文件名都在HTML代码的那部分中。因此,假设我可以正确下载文件,则至少可以将其泛化到其他文件。
在R中,我尝试使用以下代码下载文件:
数据分为每年一个文件夹,在每个文件夹中有一个州每个文件要下载。我想自动化下载过程,在R中,对于所有年份,如果不是至少在每个年份文件夹内部。已下载的文件名应遵循手动下载时出现的文件名。
我知道一点R,但不懂web编程或网络爬虫。到目前为止,这就是我得到的: 通过手动下载2012年的第一份文件,我可以看到浏览器用来下载的URL: https://drive.google.com/uc?id=0ByKsqUnItyBhS2RQdFJ2Q0RrN0k&export=download。
因此,我认为文件ID是: 0ByKsqUnItyBhS2RQdFJ2Q0RrN0k。
在2012年的页面的html代码中搜索,我能够找到该ID及其关联的文件名:AC2012.7z。所有其他ID和文件名都在HTML代码的那部分中。因此,假设我可以正确下载文件,则至少可以将其泛化到其他文件。
在R中,我尝试使用以下代码下载文件:
url <- "https://drive.google.com/uc?id=0ByKsqUnItyBhS2RQdFJ2Q0RrN0k&export=download"
download.file(url,"AC2012.7z")
unzip("AC2012.7z")
它确实下载了,但当我尝试解压文件时(在R内部和手动使用7.zip),我遇到了错误。由于文件大小(3.412Kb)与手动下载的文件大小(3.399Kb)不匹配,因此在R中下载的文件肯定有问题。