5.13 个人作业2

Posted on 2021-05-13 17:00  ***Pepsi***  阅读(27)  评论(0编辑  收藏  举报

文件非法命名的问题

在windows下如 ?\ * | “ < > : /;都是非法字符,不允许在文件名中出现,按正常来讲,一旦出现这种情况,应该会有异常抛出,但是在使用pycharm的时候,这个异常并没有被发现,而直接在cmd下运行python就会有异常抛出。

解决方法:

就是在创建文件时,对文件名进行判断,如果有非法字符就替换调,如:str.replace('?', '')

 

请求超时的问题

复制代码
1 try:
2     response = await self.session.get(
3         url, allow_redirects = False, headers=HEADERS
4     )
5     break
6 except aiohttp.ClientError as client_error:
7     exception = client_error
复制代码

这是500lines 里 crawl 的连接部分的一小段代码,这个异常捕捉的确是可以捕捉到所有的连接异常,但是在实际运行中,超时异常并没有被捕捉到,不知道是否因为是windows的锅,但是后来再加上 except asyncio.TimeoutError 就可以捕捉到超时异常了。

ps:其实在看了源码之后,aiohttp.TimeoutError也是继承了 asyncio.TimeoutError的,那为什么aiohttp的就不能被捕捉到呢,待解决。

Copyright © 2024 ***Pepsi***
Powered by .NET 8.0 on Kubernetes