首页 > 解决方案 > 使用 Requests 库实现与 Urllib 相同的结果(Pickle 模块)

问题描述

python新手,所以如果我错过了一些愚蠢的东西或者它已经在其他地方得到了回答,请让我休息一下。

目前正在通过“Python 挑战”。我正在挑战 5并尝试通过传入一些腌制文本来使用 Pickle 模块。我已经使用 urllib 使其工作,如下所示...

import pickle
from urllib.request import urlopen

page = "http://www.pythonchallenge.com/pc/def/banner.p"
raw = urlopen(page)

pick = pickle.load(raw)

print(raw)
print(pick)

但是,我试图让它与请求库一起使用

raw = requests.get(page).content

但是当然后传入时pickle.load(),我收到错误:

TypeError: file must have 'read' and 'readline' attributes

任何帮助将不胜感激!

标签: python-3.xpython-requestspickleurllib

解决方案


这是我在stackoverflow上的第一个答案。我检查了 3 次大声笑
但是,这是在请求文档本身中。

import pickle
import requests

def main():
    r=requests.get('http://www.pythonchallenge.com/pc/def/banner.p',stream='True')    
    print(pickle.load(r.raw))    

if __name__=='__main__':    
    main()

推荐阅读