【Scrapy】Syntaxエラーdef write(self, data, async=False)とその対処法
スポンサーリンク
ScrapyでのSyntaxErrorとその対処法についてです。(Python3.7.0、Scrapy1.5.0)
ScrapyでSpiderファイルを実行しようとした際に下記エラーが発生。
def write(self, data, async=False):
SyntaxError: invalid syntax
下記リンクによるとScrapy(のTwistedライブラリ)が現状Python3.7に対応していないことが問題のようで、下記リンクを参考に次のコマンドを実施。
@joshspivey async keyword is used in Twisted, not in Scrapy. @lopuhin worked with Twisted maintainers to fix it in Twisted, so Scrapy will work with Python 3.7 after Twisted release a new version with a fix. Also, we've worked around it in Scrapy itself, so that Scrapy works with the current Twisted release (disabling manhole), this will be available in a next Scrapy release.
引用:https://github.com/scrapy/scrapy/issues/3143#issuecomment-368559739
pip install git+https://github.com/scrapy/scrapy@master --no-dependencies --upgrade
エラー無く実行できるようになりました。なお本問題はScrapyの1.6では対応される予定のようです。
Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド-
- 作者: 加藤耕太
- 出版社/メーカー: 技術評論社
- 発売日: 2016/12/16
- メディア: 大型本
- この商品を含むブログ (3件) を見る