Mam listę adresów URL w pliku tekstowym i potrzebuję użycia Pythona 3 Uruchom funkcję, tak że adres URL pasuje do formatu https://www.google.com/images/

Przykład listy:

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>

Musiałbym skrypt, który przeczytałby przez plik, oczyścić adres URL, aby na przykład adres URL http: / /www.google.com/images/ zmieni się na https://www.google.com / obrazy / i zastąpiłby również kod kraju z www. Więc jeśli jest http://ca.google.com powinien zmienić https://www.google.com

Czy mogę zapytać, jakie narzędzia powinny używać do wykrywania nieprawidłowego adresu URL, więc mogłem je zlokalizować, naprawić i zapisywać w pliku?

Każda pomoc zostanie doceniona, dziękuję!

Aktualny kod:

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)
1
Dave 27 październik 2020, 19:35

1 odpowiedź

Najlepsza odpowiedź

Ponieważ łańcuchy są niezmienne w Pythonie, nie możemy zmienić alfabetów w nich, ale nowe struny, stąd niewielkie komplikacje. Najpierw usuwamy elementy http. Następnie sprawdzamy, czy www jest obecny w linku lub nie. Jeśli nie, zastępujemy kod kraju (dwa alfabety) z 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)

Wynik: ['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']

1
Abhishek Rai 27 październik 2020, 18:00