首页 > 解决方案 > Python urllib3 打开网址

问题描述

import urllib2
data = []
req=urllib2.Request("https://raw.githubusercontent.com/plotly/datasets/master/miserables.json")
opener = urllib2.build_opener()
f = opener.open(req)
data = json.loads(f.read())

如何使用 urllib3 维护相同的功能?

标签: pythonurllib3

解决方案


我发现 requests 或 aiohttp 在功能上比 urllibX 更优越。你不能这样做:

import requests

URL = 'https://raw.githubusercontent.com/plotly/datasets/master/miserables.json'
r = requests.get(URL)

if r.ok:
    data = r.json()
else:
    #raise error
    print('Something fishy')

如果您希望处理数据,Pandas 非常适合:

import requests
import pandas as pd

URL = 'https://raw.githubusercontent.com/plotly/datasets/master/miserables.json'
r = requests.get(URL)

if r.ok:
    data = r.json()
else:
    #raise error
    print('Something fishy')

df_nodes = pd.DataFrame(data['nodes'])

df_links = pd.DataFrame(data['links'])

# Do something awesome

推荐阅读