如何在网站上用Python进行自动请求?

问题描述 投票:-2回答:1

我需要从 这个 网站。

可以通过URL模式来请求包裹的信息,例如 https:/uldk.gugik.gov.pl?request=GetParcelById&id=260403_4.0001.1862。.

这个例子的结果是这样的。

0 0103000020840800000100000005000000CBB2062D8C6F224110297D382512144128979BC870702241200E9D7C57161441CFC255973F702241C05EAADB7D161441C7AF26C2606F2241A0AD0EFB67121441CBB2062D8C6F224110297D3825121441。

这是wkb格式的地块几何信息。

问题是:我有一个excel电子表格,里面有几百个包裹的id。我怎样才能从Excel文件中获取每个ID,按照开头所说的请求并将结果写入文件(例如Excel)?

python web-scraping automation python-requests gis
1个回答
0
投票

使用 xlrd 库来读取Excel文件并处理包裹ID。

对于每一个包裹id,你可以访问url并提取所需信息。下面的代码可以为给定的URL做这项工作。

import requests

r = requests.get('https://uldk.gugik.gov.pl/?request=GetParcelById&id=260403_4.0001.186/2')
result = str(r.content, 'utf-8').split()
# ['0', '0103000020840800000100000005000000CBB2062D8C6F224110297D382512144128979BC870702241200E9D7C57161441CFC255973F702241C05EAADB7D161441C7AF26C2606F2241A0AD0EFB67121441CBB2062D8C6F224110297D3825121441']

由于你有几百个包裹ID,我会写一个函数来完成这项工作。

import requests

def get_parcel_info(parcel_id):
    url = f'https://uldk.gugik.gov.pl/?request=GetParcelById&id={parcel_id}'
    r = requests.get(url)
    return str(r.content, 'utf-8').split()

get_parcel_info('260403_4.0001.186/2')
# ['0', '0103000020840800000100000005000000CBB2062D8C6F224110297D382512144128979BC870702241200E9D7C57161441CFC255973F702241C05EAADB7D161441C7AF26C2606F2241A0AD0EFB67121441CBB2062D8C6F224110297D3825121441']
© www.soinside.com 2019 - 2024. All rights reserved.