Python. HTML. Можно ли из url_A перейти в url_B за два перехода?
Дано задание ниже с ссылкой на источник. Мой код решения также приведен ниже, но на проверке выводит данные, закрепленные на картинке. Подскажите пожалуйста, в чем может быть заключена ошибка и как ее возможно исправить? (Знаю, что программистами возбраняется решать подобные задания регулярками, но провозившись над кодом несколько часов, конечный код хоть и не проходит тест, но хотя бы не выдает Wrong Answer).
https://stepik.org/lesson/24471/step/6?unit=6780
Рассмотрим два HTML-документа A и B. Из A можно перейти в B за один переход, если в A есть ссылка на B, т. е. внутри A есть тег , возможно с дополнительными параметрами внутри тега. Из A можно перейти в B за два перехода если существует такой документ C, что из A в C можно перейти за один переход и из C в B можно перейти за один переход.
Вашей программе на вход подаются две строки, содержащие url двух документов A и B. Выведите Yes, если из A в B можно перейти за два перехода, иначе выведите No.
Обратите внимание на то, что не все ссылки внутри HTML документа могут вести на существующие HTML документы.
Sample Input 1:
https://stepik.org/media/attachments/lesson/24472/sample0.html https://stepik.org/media/attachments/lesson/24472/sample2.html
Sample Output 1: Yes
Sample Input 2:
https://stepik.org/media/attachments/lesson/24472/sample0.html https://stepik.org/media/attachments/lesson/24472/sample1.html
Sample Output 2: No
Sample Input 3:
https://stepik.org/media/attachments/lesson/24472/sample1.html https://stepik.org/media/attachments/lesson/24472/sample2.html
Sample Output 3: Yes
import urllib.request
import re
A = input().replace('stepic.org', 'stepik.org')
B = input().replace('stepic.org', 'stepik.org')
all_links = []
with urllib.request.urlopen(A) as response:
html = response.read().decode('utf-8')
html = html.replace('stepic.org', 'stepik.org')
links = re.findall(r'<a\s+href="([^"]*)"', html)
for link in links:
with urllib.request.urlopen(link) as response:
html = response.read().decode('utf-8')
html = html.replace('stepic.org', 'stepik.org')
all_links.extend(re.findall(r'<a\s+href="([^"]*)"', html))
if B in all_links: print('Yes')
else: print('No')
