gpt4 book ai didi

python - 使用 Python 对 URL 进行切片

转载 作者:太空狗 更新时间:2023-10-29 20:36:23 26 4
gpt4 key购买 nike

我正在处理一个巨大的 URL 列表。只是一个简单的问题,我试图将 URL 的一部分切掉,见下文:

http://www.domainname.com/page?CONTENT_ITEM_ID=1234&param2&param3

我怎么切出:

http://www.domainname.com/page?CONTENT_ITEM_ID=1234

有时候CONTENT_ITEM_ID后面有两个以上的参数,而且每次的ID都不一样,我想可以通过找到第一个&然后切掉那个&之前的字符来完成,不太清楚如何做到这一点不过。

干杯

最佳答案

使用 urlparse模块。检查此功能:

import urlparse

def process_url(url, keep_params=('CONTENT_ITEM_ID=',)):
parsed= urlparse.urlsplit(url)
filtered_query= '&'.join(
qry_item
for qry_item in parsed.query.split('&')
if qry_item.startswith(keep_params))
return urlparse.urlunsplit(parsed[:3] + (filtered_query,) + parsed[4:])

在你的例子中:

>>> process_url(a)
'http://www.domainname.com/page?CONTENT_ITEM_ID=1234'

如果您决定还需要更多查询参数,或者如果参数的顺序不固定,则此函数有一个额外的好处,它更易于使用,如:

>>> url='http://www.domainname.com/page?other_value=xx&param3&CONTENT_ITEM_ID=1234&param1'
>>> process_url(url, ('CONTENT_ITEM_ID', 'other_value'))
'http://www.domainname.com/page?other_value=xx&CONTENT_ITEM_ID=1234'

关于python - 使用 Python 对 URL 进行切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258746/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com