Невозможно загрузить файл (Web Scraping) - OSError [Errorno22] - неверный аргумент - PullRequest
0 голосов
/ 02 ноября 2018

Я написал программу на 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 очень большой. Если кто-нибудь предложит, я могу поделиться тем же.

Пожалуйста, предложите что-нибудь, так как я пытаюсь это так долго и разочарован. Я даже не представляю, что я делаю не так? Пожалуйста, помогите.

Любая маленькая помощь очень ценится.

Заранее спасибо.

...