Я написал программу на Python 3, которая очищает и загружает страницы категории Википедии с определенной глубиной и помещает их в каталог.
Проблема, с которой я сталкиваюсь: «предположим, что во время выполнения кода, если алгоритм встречает какую-либо страницу википедии, имеющую специальный символ, такой как (*, #, $ и т. Д.), То алгоритм завершается ошибкой с приведенным ниже сообщением с точки зрения трассировки ошибок ".
Пример вики-страницы со специальными символами:
https://en.wikipedia.org/wiki/Eden*
Трассировка ошибки выглядит следующим образом:
Traceback (most recent call last):
File "F:\Pen Drive 8 GB\PDF\Code\wiki.py", line 103, in <module>
d.search_and_store("Biomedical_engineering", subcategory_depth=2, path=PATH)
File "F:\Pen Drive 8 GB\PDF\Code\wiki.py", line 98, in search_and_store
self.search_and_store(subcat_result['title'], subcategory_depth-1, path)
File "F:\Pen Drive 8 GB\PDF\Code\wiki.py", line 98, in search_and_store
self.search_and_store(subcat_result['title'], subcategory_depth-1, path)
File "F:\Pen Drive 8 GB\PDF\Code\wiki.py", line 76, in search_and_store
if self.write_page_text(path, page_result):
File "F:\Pen Drive 8 GB\PDF\Code\wiki.py", line 44, in write_page_text
txt_file = open(file_path, 'w')
OSError: [Errno 22] Invalid argument: 'F:\\Code\\Wikipedia\\DATASETS\\Biomedical Engineering/Eden*.txt'
Как вы можете ясно видеть, алгоритм очищает данные страниц без каких-либо специальных символов, но почему он вызывает вышеупомянутую ошибку.
MWE очень большой. Если кто-нибудь предложит, я могу поделиться тем же.
Пожалуйста, предложите что-нибудь, так как я пытаюсь это так долго и разочарован. Я даже не представляю, что я делаю не так? Пожалуйста, помогите.
Любая маленькая помощь очень ценится.
Заранее спасибо.