0
我有很多地址需要进行地理编码(查找经度和纬度)。美国人口普查局在以下链接提供这样的服务:US Census Geocoder,每个请求限制在1000个地址。现在我必须一遍又一遍地手动完成。我正在学习Python,我很想知道如何自动完成它。我应该使用哪些软件包以及如何指定一个输入文件,该文件在网站上要求我点击“选择文件”按钮,然后选择一个文件?使用文件输入形式的Python POST Web请求
正如你所看到的,不会有太多的领域,以填补。表格描述为:
<form method="POST" action="addressbatch" enctype="multipart/form-data">
<label>Select Address File :</label>
<input type="file", name="addressFile", required="required">
...
<div id="_f_gov_census_geo_geocoder_domain_AddressResult_benchmark_id">...</div>
...
<input type="submit" value="Get Results">
</form>
我已经看过请求包并试了一下。以下是我已经能够做到:
url = 'http://geocoding.geo.census.gov/geocoder/locations/addressbatch?form'
payload = {'name': 'addressFile', 'filename':'C:/ds/data/california/census_geocode/batch_0.csv'}
session = requests.session()
r = requests.post(url, data=payload)
结果是r=<Response [400]
,或错误的请求。我不知道如何指定提交请求,因为源只有类型和值字段,没有名称字段。
二手谷歌开发者工具来跟踪的要求,这里是我的了:
Request Payload:
------WebKitFormBoundaryINe95Tc7sF0LHtgj
Content-Disposition: form-data; name="addressFile"; filename="batch_0.csv"
Content-Type: application/vnd.ms-excel
------WebKitFormBoundaryINe95Tc7sF0LHtgj
Content-Disposition: form-data; name="benchmark"
4
------WebKitFormBoundaryINe95Tc7sF0LHtgj--
我仍然不知道如何在我的要求下,虽然使用这些信息。
我已经更新了我的问题,并展示了迄今为止我所能找到的内容。显然它还没有解决。 – breezymri