我正在尝试分析来自LegisScan的账单文本,但是我遇到了从API拉响应解码文本的问题。事实证明,在通过他们的API获取时,LegisScan可以编码基础64中所有立法的全文,并且我在解码它时遇到了一些麻烦。
此 downloaded JSON request 是我通过API下载的JSON结果的全文部分示例。但是,通常的方法似乎没有起作用。
我尝试过:
fromJSON中的错误(content,handler,default.size,depth,allowComments ,: 对象'严格'未找到
我的代码:
text <- base64decode("https://www.dropbox.com/s/5ozd0a1zsb6y9pi/Legiscan_fulltext.txt?dl=0")
rawToChar(text)
Nul <- text == as.raw(00)
text[Nul] <- as.raw(20)
text2 <- rawToChar(text)
但是,尝试单独使用rawToChar会给我一个“嵌入字符串nul”错误
rawToChar(test2)出错: 在字符串中嵌入nul:'%PDF-1.5 \ r \ n%\ xb5 \ xb5 \ xb5 \ xb5 \ r \ n1 0 obj \ r \ n&lt;&gt;&gt;&gt; \ r \ nendobj \ r \ n2 0 obj \ r \ n&lt;&gt; \ r \ nendobj \ r \ n3 0 obj \ r \ n&lt;&gt; / ExtGState&lt;&gt; / ProcSet [/ PDF / Text / ImageB / ImageC / ImageI]&gt;&gt; / MediaBox [ 0 0 612 792] /目录4 0 R /组&lt;&gt; / Tabs / S / StructParents 0&gt;&gt; \ r \ nendobj \ r \ n4 0 obj \ r \ n&lt;&gt; \ r \ n \ nstream \ r \ n \ n \ n \ n \ x9c \ xb5ZYs \ xdb8 \ 022〜w ^ \ X95 \ XFF \ 003 *○\ u0516M \ 021ཛJ□\ X95 \xe3ę̵\ X99 \ XB1 \ xa7f \ XB7 \ x92y \ XA0 $ \ XCA \ XE2 \ 86" \ 025 \ 036 \ XF6 \ XE6 \ xdfow \ 003 \ X94 \ bR0sh \ X93 * \ x99G \ XA3 \ 001 | \ XDD \ xfdu7 \ XA4 \ xf9U \ xd5d \ xebd \ XE7 \ XCF \ xe7WM \ x93,7銽\ x9f \ u07d5 \ XBB \ XBF \ xe6w \ x9fw \ xe9 \ XFC] r \ x9f \ 025I \ X93 \ X95 \ XC5 \ XFC \ XB6] 4 \ XF8 \ xe8 \ x874Y \ xa5Ջ\ 027 \ XEC \ xe5 \ xabk \ XF6 \ XF2 \ XEE \ xfcl〜\ xc3Yl \ xc7 \
将这些空值替换为表示空格允许rawToChar运行,但输出是乱码,或者是另一种不是预期的英文文本字符的编码形式。
[1]“\ x86 \ xdbi \ xb3 \ xff \ xf0 \ xc3 \ ak \ xa2 \ x96 \ xe8 \ xc5 \ xca&amp; \ xfe \ xcf \ xf9 \ xa37tk \\ xeco \ xac \ xbd \ xa6 / \ xcbz \ b \ xacq版权所有\ xA9 \ u07faYm {\033米\ XC6 \ xd7e“
还有什么其他想法可以尝试?感谢。
答案 0 :(得分:0)
我一直在处理Python和Python中的相同问题,以下代码有效:
import base64
raw = base64.b64decode(bill_text['doc'])
pdf_result = open(output_file, "wb").write(raw)
我想也许在你的情况下你试图将文档立即转换为文本,但这可能不那么容易,我在Python中通过使用PyPDF2库中的函数解析保存的PDF文件。