首页 > 解决方案 > 无法下载文件(网页抓取) - OSError [Errorno22] - 无效参数

问题描述

我用 Python 3 编写了一个程序,它以一定的深度抓取和下载维基百科类别的页面并将它们放在一个目录中。

我面临的问题是,“假设在代码执行过程中,如果算法遇到任何具有特殊字符(如(*、#、$ 等)的维基百科页面),那么算法将失败,并显示下面提到的消息错误跟踪“。

特殊字符 wiki 页面的示例如下: 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 非常大。如果有人建议,那么我可以分享。

请提出一些建议,因为我长期以来一直在尝试这个并且很沮丧。我什至不知道我做错了什么?请帮忙。

任何小的帮助都深表感谢。

提前致谢。

标签: python-3.xweb-scrapingfilepathwikipediawikipedia-api

解决方案


推荐阅读