scrapy shell 默認(rèn)使用python 控制臺(tái)钉迷,用起來還挺麻煩的,于是想用ipython進(jìn)行替換钠署,官網(wǎng)給出了兩種方式
配置方式
1. 全局設(shè)置
通過配置環(huán)境變量的方式糠聪,添加SCRAPY_PYTHON_SHELL
為ipython
2.局部設(shè)置
只在當(dāng)前scrapy項(xiàng)目下使用ipython,需要修改scrapy.cfg配置文件谐鼎,setting下添加一行
[settings]
shell = bpython
cd 到當(dāng)前scrapy項(xiàng)目下即可使用ipython的shell
tab 補(bǔ)全時(shí)的debug提示干擾解決
使用ipython后會(huì)有以下情況舰蟆,當(dāng)使用tab進(jìn)行補(bǔ)全時(shí)會(huì)出現(xiàn)干擾的debug信息
In [2]: res2022-06-29 10:36:57.804 | DEBUG | parso.python.diff:update:282 - diff parser start
2022-06-29 10:36:57.806 | DEBUG | parso.python.diff:update:293 - line_lengths old: 1; new: 1
2022-06-29 10:36:57.807 | DEBUG | parso.python.diff:update:296 - -> code[replace] old[1:1] new[1:1]
2022-06-29 10:36:57.809 | DEBUG | parso.python.diff:_parse:421 - parse_part from 1 to 1 (to 0 in part parser)
2022-06-29 10:36:57.810 | DEBUG | parso.python.diff:update:339 - diff parser end
1.全局設(shè)置
1.1 F**K parso
pip uninstall parso
1.2 修改parso模塊的debug設(shè)置
搜索當(dāng)前python環(huán)境 Python38\Lib\site-packages\parso\python\diff.py
from parso.python.tokenize import PythonToken, BOM_UTF8_STRING
from parso.python.token import PythonTokenTypes
LOG = logging.getLogger(__name__)
DEBUG_DIFF_PARSER = False
# 以下為自行添加
logging.getLogger('parso.python.diff').disabled = True
logging.getLogger("parso.cache").disabled = True
2 shell啟動(dòng)配置
1. 提高日志級(jí)別,規(guī)避debug log
scrapy shell -L INFO https://example.com
2. shell中單獨(dú)關(guān)閉對(duì)應(yīng)的日志
__import__("logging").getLogger("parso.python.diff").disabled=True