在python中,如何使用特定关键字从列表中调用特定元素?

2024-09-26 22:52:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想分解一个URL并提取我需要的信息。破坏URL很容易,但我不确定如何提取我需要的信息

下面是URL中断部分。 我想提取目标id部分并将其保存在dest_id中。 在下面的示例URL中,它将是“1504033”(在“目标id=”旁边)

url = 'https://www.hotels.com/search.do?resolved-location=CITY%3A1504033%3AUNKNOWN%3AUNKNOWN&destination-id=1504033&q-destination=Las%20Vegas,%20Nevada,%20United%20States%20of%20America&q-check-in=2019-10-12&q-check-out=2019-10-13&q-rooms=1&q-room-0-adults=2&q-room-0-children=0'
url_break = url.split('%')

我知道如何通过索引号码呼叫,但它可能不会一直工作,因为该部分可以在任何地方而不是第5个索引(它可以是第三个或第四个)


Tags: httpscom信息idurl示例目标search
1条回答
网友
1楼 · 发布于 2024-09-26 22:52:05

请勿自行拆分url,请使用适当的库:

url = 'https://www.hotels.com/search.do?resolved-location=CITY%3A1504033%3AUNKNOWN%3AUNKNOWN&destination-id=1504033&q-destination=Las%20Vegas,%20Nevada,%20United%20States%20of%20America&q-check-in=2019-10-12&q-check-out=2019-10-13&q-rooms=1&q-room-0-adults=2&q-room-0-children=0'

from urllib import parse

k = parse.urlsplit(url)
params = parse.parse_qs(k.query) 

print(params) 

输出:

{'resolved-location': ['CITY:1504033:UNKNOWN:UNKNOWN'], 
 'destination-id': ['1504033'], 
 'q-destination': ['Las Vegas, Nevada, United States of America'], 
 'q-check-in': ['2019-10-12'], 'q-check-out': ['2019-10-13'], 
 'q-rooms': ['1'], 'q-room-0-adults': ['2'], 'q-room-0-children': ['0']}

并访问字典:

dest_id = params.get("destination-id")

相关问题 更多 >

    热门问题