异常产生原因
在使用 PySpider 进行开发时,有时会遇到如下异常:
PendingDeprecationWarning: Flags not at the start of the expression
这种异常通常是由于在使用 PySpider 提供的 BeautifulSoup 时,使用了非法的正则表达式所导致的。具体来说,是因为使用了类似 “(?m:...)” 的语法,而这种用法已经被标记为即将过时。因此,在 PySpider 版本升级后,这种语法的使用将会被弃用,也就是会产生 PendingDeprecationWarning 的警告。
解决办法
针对这种异常,可以考虑以下几种解决办法:
-
使用 re 模块的 re.compile() 方法来生成正则表达式,而不是使用类似 “(?m:...)” 的语法。
-
在 PySpider 启动时,加入 "-W ignore" 参数,来忽略掉警告信息,从而避免这种异常的出现。示例代码如下:
pyspider -W ignore my_spider.py
- 在代码中加上以下语句,来禁用 PendingDeprecationWarning 的警告信息。
import warnings
warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
综上所述,针对 PySpider 报“PendingDeprecationWarning ”异常,可以通过调整正则表达式语法、忽略警告信息或者禁用警告信息等方式来解决。如果以上方法均无法解决问题,建议升级优化 PySpider 版本。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PySpider报”PendingDeprecationWarning “异常的原因以及解决办法 - Python技术站