将查询参数添加到URL

2022-04-14 00:00:00 python python-2.7 web-scraping urllib url

问题描述

我正在尝试自动从网站下载数据。我需要传递动态参数到网站,每天都在变化。该html是以表格而不是表格的形式构成的。如何传递参数并从URL获得结果?

这就是我尝试过的,它需要在python2.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()

解决方案

我能够在Python2.7中实现这项工作,如下所示,但由于软件依赖,我需要在IronPython2.7.7中实现这项工作。我收到一个错误,说"未知的url类型:HTTPS"我知道IronPython2.7.9之前的版本在HTTPS方面有问题。有什么方法可以绕过安全检查吗?

>>> import urllib
>>> url_keys = urllib.urlencode( {'action': "SUBSET", 'no_attr_prefix': 1, 'content_key_is_value': 1, 'force_array': 1,
...         'pretty': 0, 'start': "2019-01-02T00:00:00Z", 'end': "2019-01-04T23:59:59Z", 'south': 0.28,
...         'west': 32.77, 'north': 13.64, 'east': 44.72, 'variables': "precipitationCal", 'format': "netCDF",
...         'dataset_id': "GPM Level 3 IMERG Early Half Hourly 0.1 x 0.1 degree Precipitation V05", 'agent_id': "OPeNDAP"})
>>> url = "https://disc.gsfc.nasa.gov/daac-bin/SSW/SSW"
>>> r = urllib.urlopen(url, url_keys)

相关文章