解决方法在二楼


事情起因是酱紫的,本楼主在中国政府网上瞎溜达的时候,发现可以看到1954-1999年的国务院公报,地址在这里。俺打算下载下来回头导入到手机上慢慢看,先试了下用 download.file 函数下载,代码如下:

# 定义PDF文件的URL
url <- "https://www.gov.cn/gongbao/shuju/1955/gwyb195503.pdf"

# 定义保存PDF的本地路径
destfile <- "D:/User/Desktop/国务院公报/gwyb195503.pdf"

# 下载文件
download.file(url, destfile)

但是下载下来的 PDF 文件打开后变成了一种撒也看不清的情况(PS像是被油墨糊住了似的),可是如果俺直接点进去链接,然后手动点保存,下载下来的文件是可以正常看的。如果有小伙伴经过这里,麻烦帮忙看看能否复现。

更新:

虽然不明白咋回事,但是换个别的函数下载就正常了。

# 加载httr包
library(httr)

# 定义PDF文件的URL
url <- "https://www.gov.cn/gongbao/shuju/1955/gwyb195504.pdf"

# 定义保存PDF的本地路径
destfile <- "D:/User/Desktop/国务院公报/gwyb195504.pdf"

# 下载文件
GET(url, write_disk(destfile, overwrite = TRUE))
    download.file(url, destfile, mode = "wb")

    帮助里有说明
    The choice of binary transfer (mode = "wb" or "ab") is important on Windows, since unlike Unix-alikes it does distinguish between text and binary files and for text transfers changes \n line endings to \r\n (aka ‘CRLF’).

    On Windows, if mode is not supplied (missing()) and url ends in one of .gz, .bz2, .xz, .tgz, .zip, .jar, .rda, .rds or .RData, mode = "wb" is set so that a binary transfer is done to help unwary users.

    Code written to download binary files must use mode = "wb" (or "ab"), but the problems incurred by a text transfer will only be seen on Windows.

      MacOS 上没有复现问题。

      yuanfan 俺打算下载下来回头导入到手机上慢慢看

      我有点好奇,看这个的目的是啥?中间缺了很多年份的内容,即使不缺,现有年份的这些材料能用来说明什么问题呢?

        5 天 后

        yydhcl
        我试了试,确实加上这个参数就可以了。谢谢您。

        Cloud2016
        此事的前情提要是酱紫的:我看了一本书受到一些启发,感觉其中和党政关系相关的部分可以单拿出来深入地思考,额,可是我生活的环境、使我长期沉浸的社会氛围让我有种写作时碰到某方面下意识自我阉割的臭毛病,要克服这个问题并不像三水说的那么简单,反正就是虽然仍然在努力但是进度条始终到不了100%,所以不能畅快地写想写的,于是转而通过收集现在公开的数据来分析。
        最初我想的只是先把中国政府网的政策文件库里面的文件标题、成文日期等信息抓取下来,只写“试以政策标题简析党政关系”,然而一边分析已有数据一边看看同一主题别人写的文章,渐渐觉得这样根本不能写尽我想写的,于是继续收集更多数据,原本打定主意不碰政策文件内容的也在试着一块抓下来瞅瞅,不过文本分析暂时还不擅长有点挖坑填不上。哈哈,就这么缓了几天又上中国政府网瞎溜达,如一楼所言意外发现可以看到以前的国务院公报,因为之前已经对抓取的数据做了些简单的量化分析(除了一些年份的数据缺失还有别的数据质量问题),也了解了政策文件的基本分类,知道“在国务院公报上刊登的各类公文与正式文件具有同等效力”这个特点,于是就先根据个人好奇的点翻了1989年的一些国务院公报,看了 “198909.pdf”后,顺便想看看其他的,于是干脆先全下载下来再说。总地来说,因为写作思路混乱,所以行事逻辑也是想一出干一出。话说编辑大人你怎么不当编辑大人了,好久没督促我学习和写文章投稿了,我需要你的督促啊。

        另外,关于年份的问题,如若借党政关系来展开,我了解的是这样的,从一些书和文章看到,文化大革命期间,以党代政、党政不分,1978年改革开放后,原先的“党管干部、党管组织、党管思想”的三位一体有些变化,党政不分被视作一个问题,既然有问题人们也是尝试过解决问题的吧,80年代思想上出现过开放时期,到1989年春夏之交出现政治风波后,又有一些变化,进入21世纪之后又有一些变化,我原先想通过数据分析来探索这些变化在政策文件上的表象,本来关注的重点就不是缺失的1960-1976年,所以并没有太在意那些缺失。

          yuanfan 我自己写得少了,精力没有放在这,看剧、逛展、看小说,偶尔写点无用的文字更有意思。你为啥去了解党政关系的变化?这个对你有什么实际的意义?

            Cloud2016
            哦,那你快乐玩耍吧,这样的生活态度也蛮好的。后面这两个问题以前没有在我的脑壳里出现过,那容我想一想吧。

            关于问题一,我读完那本书的时候根据书中线索推理得到一些结论,即可以从年份上将建国后的党政关系变化划分为三个阶段,然后又上网搜别的免费文章看,大体上也是那么分的。原本我就是这么以为的,直到有一天,我的脑子里突然想起来你曾经提过的“政府空壳化”这个词,虽然不记得当时你围绕这个词写了些撒,但我只记得我心里为撒不同意你的观点,可是那天我忽然想顺着你的思路去看看,然后就上网搜了搜,感觉你的逻辑好像也是可以说得通的。正好后面我接着整理读书笔记的时候有点好奇“监察委、政法委与公检法是什么关系?”,然后又是一通搜搜看看,发现司法权力的格局从“一府两院”变成了“一府一委两院”,这里“一府”指的是政府(国务院),这样一来与政府权力平行的机构就又多了,国务院管不了军委也管不了监察委,当然书里本来也提及了公安、检察院、法院之间的权力博弈,我好奇监察委是撒就又看了下监察法是2018年立法的,又顺带瞅了瞅现行法律文件的目录,这种种线索摆在这里,我忽然觉得原来的三个阶段划分方式特别草率。于是乎,想到收集数据分析一下。

            关于问题二,我想起来前几天我请教三水他为撒走上科研之路,他说 blablabla,不要强求因果关系上的解释。不过如果非要说有什么实际意义的话,大概就是满足了我的好奇心吧,以及找到了自己想写的然后坚持写下去让我感觉自己好棒啊。比如前段时间我看到好些年轻人自杀的新闻,但是统计学的思维不允许我仅根据少量样本来得出结论,于是我想找自杀率的数据看看。又比如,我看到新闻提及“市场主体增量任务”,有农村村民的身份信息被拿去注册个体工商户,额,不知道什么思维也不允许我新闻说撒我就信撒,所以我又开了个新坑,打算找找数据分析一下看看撒情况。总地来说,这可能是我个人的某种特点,不会因为哪个名声大的权威说撒就信撒,总是保留一些质疑空间,偶然好奇心点满的时候就挖个坑来鼓捣一下。

            CyrusYip 更改标题为「使用 download.file 函数下载的 PDF 文件看不清
            1 个月 后