我想分解一个URL并提取我需要的信息。破坏URL很容易,但我不确定如何提取我需要的信息。
下面是URL中断部分。我想提取目标id部分并将其保存在dest_id中。在下面的示例URL中,它将是“1504033”(在“destination 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个索引。(可以是第三个或第四个)
不要自己拆分网址,使用适当的库:
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")
我的变量如下所示: 我需要的是删除列表中的最后一个!我尝试检查文档,在上使用了函数,但不起作用。有什么想法或线索吗?谢谢!
问题内容: 我有一个字典列表,它们在列表中都具有相同的结构。例如: 我想从列表中的每个字典中获取每个项目: 我当然可以遍历列表并使用for循环提取每个值: 但是我的数据集很大。我想知道是否有更快的方法。 问题答案: 如果只需要迭代一次值,请使用生成器表达式: 另一个(深奥的)选项可能与-一起使用-它可能会比生成器表达式快一点,或者不快一点,具体取决于情况: 而且,如果您绝对需要一个列表,则列表理解
我有一个熊猫数据框,其中一列由列表组成: 我想添加,例如,每个列表的第一个和最后一个索引。为此,我使用: 这分别作用于每一行,如果数据帧很大,这可能会非常密集。有没有办法将此操作矢量化?
问题内容: 如何最好地获得以下结构的所有“名称”字符串元素: 我的方法是: 这可能有效,但是Java中没有任何内容。在这里我只可以写这样的: ? 问题答案: 使用Java 8:
问题内容: 我试图通过将所有参数元素为type_id =“ 4218”的所有“ ”元素从URL解析XML文件? XML文件: 这是我的Java代码: 这段代码给了我所有元素,我不想要,我想要属性type_id =“ 4218”的所有元素! 问题答案: XPath是您的正确选择: 并遍历
在List/ArrayList中有没有什么方便的方法可以移除列表中特定索引之后的所有元素?而不是手动循环通过它来移除。 为了更解释,如果我有一个包含10个元素的列表,我想提到索引3,然后索引3之后的所有元素都被删除,我的列表现在只包含4个元素(从0开始计数)