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']
我在文本文件中有一个 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']