在列表(URL)Python中操作值

2024-09-20 22:58:55 发布

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

我想重新格式化列表中的值。我试图提取网址从一个网站与刮。Scrapy返回相对URL,然后将其存储在列表中。我想加入绝对网址与相对网址和做一些匹配和替换相对网址内的名单本身,然后将用于下一步。你知道吗

当前列表如下所示:

regions = ['/listings/in/spain%2Fandalucia', '/listings/in/spain%2Faragon', '/listings/in/spain%2Fasturias', '/listings/in/spain%2Fbalearic-islands']

这就是它理想的外观。

regions_final = ['https://worldmap.com/listings/in/spain/andalucia', 'http://worldmap.comlistings/in/spain/Faragon', 'http://worldmap.comlistings/in/spain/fasturias', 'http://worldmap.com/listings/in/spain/balearic-islands']

我需要一个简单的查找并替换“/”的“%2F”,并在当前值前面附加“https://worldmap.com”。 如果有人有任何建议,我将非常感谢你的帮助!你知道吗

谢谢


Tags: inhttpscomhttpurl列表网站listings
2条回答

使用列表并添加字符串:

regions = ['/listings/in/spain%2Fandalucia', '/listings/in/spain%2Faragon', '/listings/in/spain%2Fasturias', '/listings/in/spain%2Fbalearic-islands']

region_urls = ['https://www.worldmap.com' + x.replace('%2F', '/') for x in regions]
#['https://www.worldmap.com/listings/in/spain/andalucia',
# 'https://www.worldmap.com/listings/in/spain/aragon',
# 'https://www.worldmap.com/listings/in/spain/asturias',
# 'https://www.worldmap.com/listings/in/spain/balearic-islands']

以下是创建URL的更可靠的方法:

from urllib.parse import unquote

region_urls = [response.urljoin(unquote(x)) for x in regions]

^{}负责根据当前响应的基本URL加上相对URL创建正确的绝对URL。你知道吗

^{}处理%..符号,以防您也得到其他符号。你知道吗

相关问题 更多 >

    热门问题