如何使用 urllib 为 get 方法传递参数?

it_*_*ure 3 python urllib

选择标题并输入wordpress时,响应网页如下。

在此输入图像描述

这是我的 python 代码,用于使用 python3 传递 get 方法的参数。

import urllib.request
import urllib.parse
url = 'http://www.it-ebooks.info/'
values = {'q': 'wordpress','type': 'title'}
data = urllib.parse.urlencode(values).encode(encoding='utf-8',errors='ignore')
headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0' }
request = urllib.request.Request(url=url, data=data,headers=headers,method='GET')
response = urllib.request.urlopen(request)
buff = response.read()
html = buff.decode("utf8")
print(html)
Run Code Online (Sandbox Code Playgroud)

我无法获得所需的输出网页。在我的示例中,如何使用 urllib 传递 get 方法的参数?

Dee*_*ace 6

kwarg仅用于 POST 请求,因为它修改请求的正文dataurllib.request.Request

GET 请求仅使用 URL 参数,因此您应该将这些附加到 url 中:

params = '?q=wordpress&type=title'
url = 'http://www.it-ebooks.info/search/{}'.format(params)
Run Code Online (Sandbox Code Playgroud)

您当然可以花时间将其概括为通用函数。