問題タブ [scrapyd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 複数の構成で Scrapyd を起動する
自分の環境 (開発、本番など) に応じて複数の構成を使用して Scrapy アプリケーションを開発しようとしています。私の問題は、設定方法がわからない設定がいくつかあることです。たとえば、データベースをセットアップする必要がある場合、開発ではそうする必要が"localhost"
あり、本番では別のデータベースにする必要があります。
実行中にこれらの設定を指定するにはどうすればよいですscrapy deploy
か? コマンドラインで変数を使用して設定できますか?
python - ローダーを使用して空白のフィールドを持つアイテムを無視する方法をスクレイピー
Scrapyd の出力では、すべてのフィールドを埋めていないページを取得しているため、すべてのフィールドを埋めていないアイテム、ある種のドロップを無視する方法を知りたいです。
私はそのコードを持っています:
パーサー:
独自のセレクターで作成する必要なく、ローダーでそれを実行したい (アイテムを 2 回処理するのを避けるため)。パイプラインにドロップできると思いますが、これらのアイテムは有効ではないため、おそらく最善の方法ではありません。
scrapy - Polipo と Tor を使用した Scrapyd
更新:私は今、このコマンドを実行しています:
そして、このエラーが発生します:
私は、scrapyd-deploy を介して私のスクレイピー スパイダーをデプロイしようとしています。以下は、私が使用するコマンドです。
次のエラー メッセージが表示されます。
以下は私のscrapy.cfgファイルです:
port で polipo プロキシを使用して、tor と polipo を実行しています'http://localhost:8123'
。wget を実行してそのページを問題なくダウンロードできます。プロキシは正しく機能しており、インターネットに接続できます。さらに説明が必要な場合はお尋ねください。
ありがとう!
scrapy - スクレイピーで複数ドメインをクロールする方法
多数の異なるサイトをクロールする必要があるプロジェクトがあります。本文ページから項目を抽出する必要がないため、クロールするこのすべてのサイトで同じスパイダーを使用できます。私が考えたアプローチは、スパイダーファイルでクロールするドメインをパラメーター化し、ドメインを渡してスクレイピークロールコマンドを呼び出し、URL をパラメーターとして開始することです。これにより、すべてのサイトに対して単一のスパイダーを生成することを回避できます (サイトリストは時間)。アイデアは、scrapyd が実行されているサーバーにデプロイすることなので、いくつか質問があります。
- これは私が取ることができる最善のアプローチですか?
- その場合、異なる引数を渡して同じスパイダーを複数回スケジュールすると、同時実行性の問題は発生しますか?
- これが最善のアプローチではなく、サイトごとに 1 つのスパイダーを作成する方がよい場合は、プロジェクトを頻繁に更新する必要があります。プロジェクトの更新は実行中のスパイダーに影響しますか?
python - 実行中のスパイダーの数を変更する
私のプロジェクトには約50個のスパイダーがあり、現在scrapydサーバーを介してそれらを実行しています。使用しているリソースの一部がロックされ、スパイダーが失敗したり、非常に遅くなるという問題が発生しています。私は、scrapyd に一度に実行中のスパイダーを 1 つだけにして、残りを保留中のキューに残すように指示する方法があることを望んでいました。ドキュメントには、このための構成オプションがありませんでした。どんな助けでも大歓迎です!
python - デプロイ時に Scrapyd のアクセス許可が拒否されました
私は Scrapyd を初めて使用し、デプロイしようとしています。私はUbuntu 12.04で実行しており、Scrapydのubuntuバージョンをインストールしました。実行するscrapy deploy default -p pull_scrapers
と戻ります
編集:
conf.d debug=on
/000-default ファイルを入れた後、エラーは
python - Scrapyd api を使用してスパイダーの URL を提供する
私は次のようなものを試しました:
ログを確認すると、次のエラー コードが表示されました。
「 http://www.foo.com」の最初の文字だけが として使用されているように見えrequest.url
ますが、その理由は本当にわかりません。
アップデート
おそらく start_urls は、1つの要素を含むリストではなく文字列にする必要があるため、次のことも試しました。
と
同じエラーが発生するだけです。
password-protection - ポート 6800 へのアクセスを制限する
最近、最初のUbuntuサーバーをセットアップし、scrapyとscrapydをインストールしました。私はいくつかのスパイダーを作成し、ポート 6800 で API を介してスパイダーを実行する方法を理解しました。また、そこに Web インターフェイスがあることにも気付きました。また、Web インターフェイスのデータにはすべてのプロジェクトとスパイダーの名前がリストされているため、ほとんどの人が同じことを実行できることにも気付きました。この機能を保護して、私だけが管理できるようにする方法はありますか?
ありがとう、チャド