Тема: Потрібна допомога у створенні парсеру посилань
Почав вивчати пітончик, і віришив створити власний парсер посилань, щоб вивчити основи пітону. Для себе я склав план і взявся за його реалізацію. Отже, для початку я створив на локалці тестову карту вебсайту, яка містить кілька посилань. І ось мій план
1. Регуляркою зібрати посилання і записати у файл.
2. Дописати посилання у файл викидаючи ті що повторюються
3...
4...
Далі логіка парсера мені ндо кінця не зрозуміла ,але це чудова практика і надіюсь, що знавці пітону допоможуть мені розібратись в ньому і вкажуть на мої помилки.
Кажу відразу, я лише почав вивчати Python ,тому сильно не кидайтес ьв мене каміням. У мене получився такий код для 1 параграфу
import re
import urllib.request
html = urllib.request.urlopen('http://localhost/parser/map.php') # Парсимо сторінку
html = str(html.read()) # Якщо не перевести у str видає помилку
url_compile = re.compile('http://[\w\.\/]+')
urls = str(url_compile.findall(html)) # Чому потрібно переводити у str, до список не хоче записатись у файл
file = open('new.txt', 'a')
for line in urls:
file.write(line) # записуємо результат
print('ok')
file.close()
Отже в результаті парсингу ми отримуємо такий код який записується у зміну html =
b'<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<title>Map of site</title>\r\n</head>\r\n<body>\r\n<p><a href="http://localhost/parser/index.php">Home page</a></p>\r\n<p><a href="http://localhost/parser/page2.php">Page 2</a></p>\r\n<p><a href="http://localhost/parser/page3.php">Page 3</a></p>\r\n<p><a href="http://localhost/parser/page4.php">Page 4</a></p>\r\n<p><a href="http://localhost/parser/page5.php">Page 5</a></p>\r\n</body>\r\n</html>'
у файл потрапляє такий код
['http://localhost/parser/index.php', 'http://localhost/parser/page2.php', 'http://localhost/parser/page3.php', 'http://localhost/parser/page4.php', 'http://localhost/parser/page5.php']['http://localhost/parser/index.php', 'http://localhost/parser/page2.php', 'http://localhost/parser/page3.php', 'http://localhost/parser/page4.php', 'http://localhost/parser/page5.php']
Тепер запитання. Чому код йде у такому вигляді ['посилання', 'посилання', 'посилання']
Як його записати у файл в такому вигляді
посилання
посилання
Якщо я запускаю скрипт ще раз, він знову записує такий самий список ['посилання', 'посилання', 'посилання'], як зробити щоб просто дописувалось у файл?
Як зробити перевірку, щоб видалити однакові посилання? Надіюсь, зміг усе детально і зрозуміло вам пояснити