0

TorでScrapy+Mongodbを使用すると問題が発生します。Scrapyでmongodbパイプラインを作成しようとすると、次のエラーが発生します。

2012-11-05 13:41:14-0500 [scrapy] DEBUG: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
|S-chain|-<>-127.0.0.1:9050-<><>-127.0.0.1:27017-<--denied
Traceback (most recent call last):
  File "/usr/bin/scrapy", line 4, in <module>
    execute()
  File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 131, in execute
    _run_print_help(parser, _run_command, cmd, args, opts)
  File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 97, in _run_print_help
    func(*a, **kw)
  File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 138, in _run_command
    cmd.run(args, opts)
  File "/usr/lib/python2.7/dist-packages/scrapy/commands/crawl.py", line 42, in run
    q = self.crawler.queue
  File "/usr/lib/python2.7/dist-packages/scrapy/command.py", line 33, in crawler
    self._crawler.configure()
  File "/usr/lib/python2.7/dist-packages/scrapy/crawler.py", line 43, in configure
    self.engine = ExecutionEngine(self.settings, self._spider_closed)
  File "/usr/lib/python2.7/dist-packages/scrapy/core/engine.py", line 33, in __init__
    self.scraper = Scraper(self, self.settings)
  File "/usr/lib/python2.7/dist-packages/scrapy/core/scraper.py", line 66, in __init__
    self.itemproc = itemproc_cls.from_settings(settings)
  File "/usr/lib/python2.7/dist-packages/scrapy/middleware.py", line 33, in from_settings
    mw = mwcls()
  File "/home/bharani/ABCD_scraper/political_forum_scraper/pipelines.py", line 9, in __init__
    settings['MONGODB_PORT'])
  File "/usr/local/lib/python2.7/dist-packages/pymongo/connection.py", line 290, in __init__
    self.__find_node()
  File "/usr/local/lib/python2.7/dist-packages/pymongo/connection.py", line 586, in __find_node
    raise AutoReconnect(', '.join(errors))
pymongo.errors.AutoReconnect: could not connect to localhost:27017: [Errno 111] Connection refused

これを解決する方法がわかりません。使用しない場合はproxychains、完全にクロールします。

どんな助けでも大歓迎です。

ありがとう。


編集:

コード固有ではありません。このリンクを参照してください:http://isbullsh.it/2012/04/Web-crawling-with-scrapy/

Scrapyこれは、で使用する簡単なチュートリアルMongoDBです。私たちは呼び出すことになっています

scrapy crawl isbullshit

完全に正常に動作するクローラーを実行します。を使用するTorには、次のように呼び出す必要があります。

proxychains scrapy crawl isbullshit

これは私にはうまくいきません。チュートリアルのソースコードはここにあります:https ://github.com/BaltoRouberol/isbullshit-crawler

4

3 に答える 3

2
pymongo.errors.AutoReconnect: could not connect to localhost:27017: [Errno 111] Connection refused

ポート 27017 でローカルホストに接続できないようです。これは正しいポートと正しいホストですか? それについて確認し、mongodbサーバーがバックグラウンドで実行されていることも確認してください。そうしないと、接続できません。

mongodb がバックグラウンドで実行されている場合は、mongodb.lock を削除します。

rm -r/var/lib/mongodb

サーバーを再起動します。

sudo service mongodb start

Debian または

sudo systemctl restart mongodb

Arch Linuxで

于 2012-11-05T18:50:13.673 に答える
1

MongoDB 接続 (localhost:27017) を TOR にリダイレクトしようとしている可能性があります。ローカルホスト接続をプロキシチェーンから除外したい場合は、次の行を/etc/proxychains.confに追加できます:

localnet 127.0.0.1 000 255.255.255.255
于 2012-11-23T06:51:43.390 に答える
0

ソックスプロキシを設定する前にmongo接続を開く

于 2016-03-30T11:16:03.510 に答える