問題タブ [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 に答える
956 参照

scrapy - 収量のためのScrapy Connectさまざまなアイテム

ニュースサイトをスクラップします。すべてのニュースには、コンテンツと多くのコメントがあります。コンテンツ用と複数のコメント用の 2 つのアイテムがあります。問題はコンテンツであり、複数のコメントが異なるリクエストとして生成されます。ニュースのコンテンツとその複数のコメントが、まとめて、または 1 つとして生成または返される必要があります。パイプラインのタイミングや順序は問題ではありません。

項目ファイル:

Spider では、ニュース コンテンツとその多くのコメントが関連していません。

パイプライン:

降伏時にアイテムを接続したり、ネストしたりするにはどうすればよいですか?

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

python-3.x - スクリプトから実行したときにScrapyが割り当てられたパイプラインを呼び出さない

スクレイピーをテストするためのコードがあります。私の目標は、端末からコマンドを呼び出さずにスクレイピーを使用することscrapyです。そのため、このコードを別の場所に埋め込むことができます。

コードは次のとおりです。

ご覧のとおり、コードは自己完結型で、2 つの設定をオーバーライドします。USER_AGENT と ITEM_PIPELINES。ただし、JsonWriterPipelineクラスにデバッグ ポイントを設定すると、コードが実行され、デバッグ ポイントに到達しないため、カスタム パイプラインは使用されていません。

これはどのように修正できますか?

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

python - Scrapy Pipeline SQL 構文エラー

MySQL DB から URL を取得し、それらの URL を start_urls として使用してスクレイピングするスパイダーがあり、スクレイピングされたページから任意の数の新しいリンクを取得します。start_url と新しいスクレイピングされた URL の両方を新しい DB に INSERT するようにパイプラインを設定した場合、または start_url を WHERE 基準として使用して、新しくスクレイピングされた URL で既存の DB を更新するようにパイプラインを設定した場合、SQL 構文エラーが発生します。

どちらか一方だけを挿入すると、エラーは発生しません。

これがspider.pyです

これは、3 つの self.cursor.execute ステートメントすべてを示す pipeline.py です。

最上位の SQL 実行ステートメントは、次のエラーを返します。

中間の SQL 実行ステートメントは、次のエラーを返します。

最後の SQL 実行ステートメントは、新しいデータベースに INSERT を使用した場合でも、中間と同じエラーを返します。余分な一重引用符を追加するようです。最後の項目は、データベースにアイテムを 1 つだけ INSERT したときに機能します。

長文すみません。徹底的にしようとしています。