gpt4 book ai didi

python - 迭代 url 列表并将空格替换为 %20

转载 作者:行者123 更新时间:2023-12-01 06:49:48 25 4
gpt4 key购买 nike

我有一个客户给了我一个需要检查的网址列表,但该列表包含带有空格的网址 - 例如:“https://exdomain.com/dir/this is just%20a%20text.html”

我需要迭代此列表并替换 %20 的所有空格。我知道这是最好的做法 - 而不是 %20,但这是将来需要解决的问题。

到目前为止我所做的是:

import pandas as pd
df = pd.DataFrame(columns = ['urls_with_spaces', 'urls_with_%20'])

df['urls_with_spaces'] =
['https://exdomain.com/dir/this is just%20a%20text.jpg',
'https://exdomain.com/dir/this is just%20a%20text2.jpg',
'https://subdomain.exdomain.com/dir/this is just%20a%20text3.jpg']

df['urls_with_%20'] = [x.replace(' ', '%20') for x in data['urls_with_%20']]

现在的问题是有些网址有换行符,所以我可以替换 %20 的空格,但由于这个换行符,我在执行此操作后无法访问网址。

我得到的示例:

"https://subdomain.exdomain.com/content/x/ex/region/subregion/something/this
Is%20an%20example/x2/w-program/get-out.jpg

有什么想法吗?

最佳答案

使用re.sub匹配所有空格,而不仅仅是带有 \s 的空格:

import re
...
df['urls_with_%20'] = [re.sub(r'\s+', '%20', x) for x in data['urls_with_spaces']]

或者,您可以尝试使用 urlib.parse.quote ,但我不确定它如何处理您的情况下的断线:

from urlib.parse import quote
...
df['urls_with_%20'] = [quote(x) for x in data['urls_with_spaces']]

关于python - 迭代 url 列表并将空格替换为 %20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59072826/

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