相关疑难解决方法(0)

JSONDecodeError:期望值:第1行第1列(char 0)

Expecting value: line 1 column 1 (char 0)在尝试解码JSON 时遇到错误.

我用于API调用的URL在浏览器中工作正常,但在通过curl请求完成时会出现此错误.以下是我用于curl请求的代码.

错误发生在 return simplejson.loads(response_json)

    response_json = self.web_fetch(url)
    response_json = response_json.decode('utf-8')
    return json.loads(response_json)


def web_fetch(self, url):
        buffer = StringIO()
        curl = pycurl.Curl()
        curl.setopt(curl.URL, url)
        curl.setopt(curl.TIMEOUT, self.timeout)
        curl.setopt(curl.WRITEFUNCTION, buffer.write)
        curl.perform()
        curl.close()
        response = buffer.getvalue().strip()
        return response
Run Code Online (Sandbox Code Playgroud)

完全追溯:

追溯:

File "/Users/nab/Desktop/myenv2/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/Users/nab/Desktop/pricestore/pricemodels/views.py" in view_category
  620.     apicall=api.API().search_parts(category_id= str(categoryofpart.api_id), manufacturer = manufacturer, filter = filters, start=(catpage-1)*20, limit=20, sort_by='[["mpn","asc"]]')
File "/Users/nab/Desktop/pricestore/pricemodels/api.py" in search_parts
  176.         return simplejson.loads(response_json) …
Run Code Online (Sandbox Code Playgroud)

python api json curl

196
推荐指数
16
解决办法
46万
查看次数

python urllib2会自动解压缩从网页获取的gzip数据吗?

我正在使用

 data=urllib2.urlopen(url).read()
Run Code Online (Sandbox Code Playgroud)

我想知道:

  1. 如何判断URL中的数据是否被gzip压缩?

  2. 如果数据被压缩,urllib2会自动解压缩数据吗?数据总是一个字符串吗?

python gzip urllib2

69
推荐指数
3
解决办法
3万
查看次数

将urllib2提取的gzip压缩数据转换为HTML

我目前使用mechanize来读取gzip压缩的网页,如下所示:

br = mechanize.Browser()
br.set_handle_gzip(True)
response = br.open(url)
data = response.read()
Run Code Online (Sandbox Code Playgroud)

我想知道如何将urllib2提取的gzip压缩数据解压缩为HTML文本?

req = urllib2.Request(url)
opener = urllib2.build_opener()
response = opener.open(req)
data = response.read()
if response.info()['content-encoding'] == 'gzip':
    HOW TO DECOMPRESS DATA TO HTML
Run Code Online (Sandbox Code Playgroud)

python gzip urllib2

5
推荐指数
1
解决办法
6179
查看次数

尝试下载gzip文件时遇到麻烦

我将使用wikitionary转储来进行POS标记.不知何故,它在下载时卡住了.这是我的代码:

import nltk
from urllib import urlopen
from collections import Counter
import gzip

url = 'http://dumps.wikimedia.org/enwiktionary/latest/enwiktionary-latest-all-titles-in-ns0.gz'
fStream = gzip.open(urlopen(url).read(), 'rb')
dictFile = fStream.read()
fStream.close()

text = nltk.Text(word.lower() for word in dictFile())
tokens = nltk.word_tokenize(text)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Traceback (most recent call last):
File "~/dir1/dir1/wikt.py", line 15, in <module>
fStream = gzip.open(urlopen(url).read(), 'rb')
File "/usr/lib/python2.7/gzip.py", line 34, in open
return GzipFile(filename, mode, compresslevel)
File "/usr/lib/python2.7/gzip.py", line 89, in __init__
fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
TypeError: file() argument 1 must be …
Run Code Online (Sandbox Code Playgroud)

python gzip urllib urlopen

1
推荐指数
1
解决办法
1015
查看次数

标签 统计

python ×4

gzip ×3

urllib2 ×2

api ×1

curl ×1

json ×1

urllib ×1

urlopen ×1