我是 scrapy 新手,最近开始在 M1 MacBook Air 上使用它。我遇到了一个问题。
例如,当我尝试做这样的事情时:
scrapy shell bbc.com
Run Code Online (Sandbox Code Playgroud)
它会返回我:MemoryError:无法为 ffi.callback() 分配写入+执行内存。您运行的系统可能会阻止这种情况发生。有关更多信息,请参阅https://cffi.readthedocs.io/en/latest/using.html#callbacks
值得注意的是,如果我在 Windows 上执行完全相同的操作,一切都会正常。另外,当我在 M1 Mac 上的http://quotes.toscrape.com/或 HTTP 网站上使用 scrapy shell 时,它也可以工作。似乎是 HTTPS 问题,但我真的不确定。
任何帮助将不胜感激。
小智 5
conda uninstall --force cffi
pip install cffi
Run Code Online (Sandbox Code Playgroud)
https://github.com/snowflakedb/snowflake-connector-python/issues/1205
我已经为此苦苦挣扎了几个月。对我来说,这似乎是 pyopenssl 的问题。我还没有找到解决办法。
如果您尝试使用http网站(而不是https),您可能会发现它有效:scrapy shell http://httpforever.com
相关问题: https: //github.com/pyca/pyopenssl/issues/873
其他对话:https ://github.com/Azure/azure-cli/issues/16907
更新20211129:
诸如此类的 HTTPS 站点scrapy shell https://www.bbc.com再次为我工作。我的环境: