2011-11-10 10 views
6

私はボットを止めるのに十分な洗練されたWebサイトをクロールしようとしています。sclerフレームワークでtorを使用しています

質問1:Scrapyがハングした場合、同じポイントからクロールプロセスを再開することができます。

class ypSpider(CrawlSpider): 

    name = "yp" 


    start_urls = [ 
     SOME URL 

    ] 
    rules=(
     #These are some rules 
    ) 
    def parse_item(self, response): 
    #################################################################### 
    #cleaning the html page by removing scripts html tags  
    ####################################################### 
    hxs=HtmlXPathSelector(response) 

私はHTTPプロキシを書くことができ、私はインポートしなければならないところ質問は次のとおりです。この問題を取り除くために 、私は私の設定は、これが私のプログラムである

BOT_NAME = 'MOZILLA' 
BOT_VERSION = '7.0' 

SPIDER_MODULES = ['yp.spiders'] 
NEWSPIDER_MODULE = 'yp.spiders' 
DEFAULT_ITEM_CLASS = 'yp.items.YpItem' 
USER_AGENT = '%s/%s' % (BOT_NAME, BOT_VERSION) 

DOWNLOAD_DELAY = 0.25 
DUPEFILTER=True 
COOKIES_ENABLED=False 
RANDOMIZE_DOWNLOAD_DELAY=True 
SCHEDULER_ORDER='BFO' 

このようなファイルを書きました私はこのグループのためにScrapyを初めて学びました。私はそんなに学びました。今、私は "IP回転またはtorを使う方法"を学ぼうとしています。

私たちのメンバーの一人が示唆したように、 HTTP_PROXYを

に設定します。
set http_proxy=http://localhost:8118 

が、それはいくつかのエラーを投げている、

failure with no frames>: class 'twisted.internet.error.ConnectionRefusedError' Connection was refused by other side 10061: No connection could be made because the target machine actively refused it. 

ので、私はそこに、Firefoxのネットワーク設定を確認し今すぐエラーが

failure with no frames>: class 'twisted.internet.error.ConnectionDone' connection was closed cleanly. 

ある

set http_proxy=http://localhost:9051 

にHTTP_PROXYを変更私はHTTPプロキシを見ることができませんでしたが、代わりにそれを使用してCKSV5、それは127.0.0.1:9051を示しています。 (TORの前はプロキシなしで動作します)私はまだScrapyを通してTORを使用する方法を理解していません。 私はどのTORのバンドルを使用するのですか? 私は私の質問の両方がscrapyクローラーが何らかの理由(接続失敗)のためにハングする場合、私はScrapyに回転するIPアドレスを使用する方法があり、それ自体

  • からサービスを再開したいと思います

    1. を解決することを願っています
  • +1

    あなたは 'MOZILLA/7.0'より説得力の何かにユーザーエージェント文字列を設定しようとしたことがありますか?あなた自身のブラウザの完全なユーザーエージェント文字列を使用してみてください:http://httpbin.org/user-agent – Acorn

    答えて

    4

    TOR自体はhttpプロキシではありません。ポート8118と接続が拒否されたというエラーは、privoxy [1]が正しく動作していないことを示しています。 privoxyを正しく設定してから、環境変数http_proxy=http://localhost:8118を使用して再試行してください。

    私は、privoxyとscrapyをうまく使ってTORでクロールしました。

    [1] http://www.privoxy.org/

    +3

    こんにちはRho ここであなたの経験とソースコードを共有できますか?それは私たちのために非常に面白いかもしれません。 ありがとうございました – lucab0ni

    +0

    @ imx51 TORをプロキシとして使用することに関してあまりにも多くのことを共有することはありません。あなたは環境変数を設定するだけです。それだけです。 – Rolando