Python 3 清理和规范化 URL 列表

Python 3 clean and normalize URL list

我在文本文件中有一个 URL 的列表,我需要使用 Python 3 运行 一个函数,以便 URL 与格式匹配共 https://www.google.com/images/

列表示例:

http://www.google.com/images/<text>
https://ca.google.com/images/<text>
https://www.google.com/images/<text>
http://uk.google.com/images/<text>
https://www.google.com/images/<text>

我需要制作一个脚本来读取文件,清理 URL 例如 URL http://www.google。 com/images/ 将更改为 https://www.google.com/images/,并将国家代码替换为 www。所以,如果是 http://ca.google.com 应该改成 https://www.google.com

请问我应该使用什么工具来检测不正确的 URL,以便我可以找到它们、修复它们并保存到文件中?

任何帮助将不胜感激,谢谢!

当前代码:

urls = open("urls.txt", "r", encoding='utf-8')
urls = [item.replace('http://', 'https://') for item in urls]
for item in urls:
    if not 'www' in item:
        old_item = item
        v = str(item[8:10])
        new_item = item.replace(v, 'www')
        urls.append(new_item)
        urls.remove(old_item)
print(urls)

由于字符串在 python 中是不可变的,我们不能更改其中的字母表,只能创建新的字符串,因此有点复杂。首先我们删除 http 元素。然后我们检查 link 中是否存在 www。如果不是,我们用 www

替换国家代码(两个字母)
list1 = ['http://www.google.com/images', 'https://ca.google.com/images','https://www.google.com/images','http://uk.google.com/images',
'https://www.google.com/images']
list1 = [item.replace('http://', 'https://') for item in list1]
for item in list1:
    if not 'www' in item:
        old_item = item
        v = str(item[8:10])
        new_item = item.replace(v, 'www')
        list1.append(new_item)
        list1.remove(old_item)

print(list1)

输出: ['https://www.google.com/images', 'https://www.google.com/images', 'https://www.google.com/images', 'https://www.google.com/images', 'https://www.google.com/images']