問題タブ [scrapy-pipeline]

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.

0 投票する
1 に答える
1224 参照

python - フォルダー/ファイルを分離するための Scrapy パイプライン - 抽象化

現在、Scrapy プロジェクトを完成させていますが、非常に長いpipelines.pyファイルがあります。

settings.pyのパイプラインでは、次のように表示されていることに気付きました(トリミングされています):

これを修正するために、次の方法を試しました。

1.) 新しいファイル/フォルダーを作成し、同じ方法でパイプラインから参照しようとしました。

フォルダーにはmyPipelines/Test.pyクラス名がありTestPipeline、パイプライン設定で として参照されていましproj.myPipelines.Test.TestPipeline': 100,た。

これは私にエラーを投げました。

次に、モジュールをエクスポートして現在のモジュールにインポートするpipelines.pyと、そこから参照が取得されると考えました。ディレクトリに空を追加して__init__.pyから追加しましたが、スクレイピーはまだエラーをスローします...myPipelinesfrom myPipelines.Test import TestPipeline

よろしくお願いします!

0 投票する
1 に答える
355 参照

python - フィールドでの Scrapy マージ出力

次のような Scrapy 出力があります。

これは、すべての製品処理で Loader.load_item() を使用しているためです。

次のように、パイプラインまたは出力プロセッサを構築して、最後に処理されたアイテムのみを返すようにするにはどうすればよいですか?

処理された最後の行には、そのセッションのすべての製品が含まれています。スパイダーが閉じるときに処理を試みましたが、成功しませんでした。

私はこのプロジェクトをほぼ終えようとしており、多くのことを調査し、多くのことを試しましたが、フィールドでのアイテムのスタックに関連するものはありませんでした。

私のアイテムコード:

私のスパイダーコード: