首页 > 解决方案 > 如何使用 Python 从 URL 获取数据

问题描述

如何从 URL 获取数据?

网址:

http:\\localhost\?id=1&q=W&random_id=12002H#@&&up=down

然后我想将它存储在字典中:

data = {
    "id": "1",
    "q": "W",
    "random_id": "12022H#@&",
    "up": "down"
}

标签: python-3.xurl

解决方案


正如我在评论中提到的,给定的 URL 看起来无效。我使用了有效的编码之一:http:\\localhost\?id=1&q=W&random_id=12002H%23%40%26&up=down。然后你可以使用 urllib 解析它:

from urllib import parse
url = 'http:\\localhost\?id=1&q=W&random_id=12002H%23%40%26&up=down'

query = parse.urlsplit(url).query
print(query)
print(parse.parse_qsl(query))
data = dict(parse.parse_qsl(query))
print(data)

输出:

id=1&q=W&random_id=12002H%23%40%26&up=down
[('id', '1'), ('q', 'W'), ('random_id', '12002H#@&'), ('up', 'down')]
{'id': '1', 'q': 'W', 'random_id': '12002H#@&', 'up': 'down'}

推荐阅读