我正在尝试自动从网站下载数据。我需要将动态参数传递到每天更改的站点。 html 的结构是表格而不是表单。如何传递参数并从 url 获取结果?
这是我尝试过的,它需要在 python 2.7 中
import urllib
url = "https://disc.gsfc.nasa.gov/SSW/#keywords="
params = urllib.urlencode({'keyword':"(GPM_3IMERGHHE)", 't1':"2019-01-02", 't2':"2019-01-03", 'bboxBbox':"3.52,32.34,16.88,42.89"})
r = urllib.urlopen(url, params)
return = r.read()
最佳答案
您需要将查询参数附加到基本 URL,以便 urllib.urlopen
创建 GET 请求。
>>> url = "https://disc.gsfc.nasa.gov/SSW/#keywords="
>>> params = {'keyword':"(GPM_3IMERGHHE)", 't1':"2019-01-02", 't2':"2019-01-03", 'bboxBbox':"3.52,32.34,16.88,42.89"}
>>> quoted_params = urllib.urlencode(params)
>>> quoted_params
'bboxBbox=3.52%2C32.34%2C16.88%2C42.89&t2=2019-01-03&keyword=%28GPM_3IMERGHHE%29&t1=2019-01-02'
>>> full_url = url + quoted_params
>>> full_url
'https://disc.gsfc.nasa.gov/SSW/#keywords=bboxBbox=3.52%2C32.34%2C16.88%2C42.89&t2=2019-01-03&keyword=%28GPM_3IMERGHHE%29&t1=2019-01-02'
>>> resp = urllib.urlopen(full_url)
>>> html = resp.read()
关于python - 将查询参数添加到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031584/