使用请求库获得与Urllib(Pickle模块)相同的结果

时间:2019-04-22 15:47:20

标签: python-3.x python-requests pickle urllib

Python的新手,如果我错过了一些愚蠢的东西,或者在其他地方得到了答案,请给我休息一下。

当前正在通过'Python Challenges'工作。我在challenge 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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这是我对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()