問題タブ [scrapy-spider]

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 に答える
2280 参照

scrapy - スクレイピーで同じプロセスで複数のスパイダーを実行した後にリアクターを停止する方法は?

いくつかの異なるスパイダーがあり、それらすべてを一度に実行したいと考えています。thisthisに基づいて、同じプロセスで複数のスパイダーを実行できます。ただし、すべてのスパイダーが終了したときにリアクターを停止するための信号システムを設計する方法がわかりません。

私が試してみました:

どちらの場合も、最初のクローラーが閉じるとリアクターが停止します。もちろん、すべてのスパイダーが終了したら、リアクターが停止することを望みます。

誰かがトリックを行う方法を教えてもらえますか?

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

python - Scrapy 拒否ルール

こんにちは、私は現在スクレイピーを使用していますが、クロールを実行すると、拒否ルールが完全に無視され、同じアイテムが複数スクレイピングされることに気付きました。理由を教えてください。どんな助けでも大歓迎です

** * ** * ** * ** * ** *編集* ** * ** * ** * ** * ** *

ここにログから何が起こっているかがあります

2014-04-07 15:01:47+0100 [diy_cat] デバッグ: <200 からスクレイピングhttp://www.diy.com/nav/garden/garden-buildings/cabins-summerhouses/-constructiontype-Interlocking/-pricerangec -1200-1300/-size%3E3_29_x_2_39m/Shire-11x8-Berryfield-Log-Cabin-Home-Delivered-Only-13538712?height=411&mediaId=m8416757&productId=13538712&skuId=14009418&width=411 >

2014-04-07 15:01:47+0100 [diy_cat] デバッグ: <200 からスクレイピングhttp://www.diy.com/nav/garden/garden-buildings/cabins-summerhouses/-constructiontype-Interlocking/-pricerangec -1200-1300/-size%3E3_29_x_2_39m/Shire-11x8-Berryfield-Log-Cabin-Home-Delivered-Only-13538712?height=411&mediaId=m8416844&productId=13538712&skuId=14009418&width=411 >

2014-04-07 15:01:47+0100 [diy_cat] デバッグ: <200 からスクレイピングhttp://www.diy.com/nav/garden/garden-buildings/cabins-summerhouses/-constructiontype-Interlocking/-pricerangec -1200-1300/-size%3E3_29_x_2_39m/Shire-11x8-Berryfield-Log-Cabin-Home-Delivered-Only-13538712?height=411&mediaId=m8417696&productId=13538712&skuId=14009418&width=411 >

2014-04-07 15:01:47+0100 [diy_cat] デバッグ: <200 からスクレイピングhttp://www.diy.com/nav/garden/garden-buildings/cabins-summerhouses/-constructiontype-Interlocking/-pricerangec -1200-1300/-size%3E3_29_x_2_39m/Shire-11x8-Berryfield-Log-Cabin-Home-Delivered-Only-13538712?heroPopup=true&mediaId=m8417696&productId=13538712&skuId=14009418 >

0 投票する
4 に答える
8347 参照

python - スクレイピー スパイダー コールバック内から統計を収集する方法は?

スパイダー コールバック内から統計を収集するにはどうすればよいですか?

import一般的に何をどのように利用できるようにするかがわかりませんstats

0 投票する
3 に答える
1370 参照

python - 要求されたすべてのページを含まない Scrapy スパイダー

ほとんどの場合、Yelp 用の Scrapy スクリプトが動作しています。基本的に、Yelp ページのリストを提供して、すべてのページからすべてのレビューを返す必要があります。これまでのスクリプトは次のとおりです。

ただし、私が直面している問題は、この特定のスクリプトが、最初のページを除いて、要求されたすべてのレビューのすべてのページをスクレイピングすることです。最後の「if」ステートメントをコメントアウトすると、最初のページのみがスクレイピングされます。必要なのは単純な「else」コマンドだけだと思いますが、困惑しています...助けていただければ幸いです!

編集:これは、受け取った支援に基づいて現在立っているコードです...

以下のコメントで述べたように、このコードをそのまま実行すると、必要なすべてのページがクロールされますが、すべてのレビューではなく、ページごとに 1 つのレビューしか返されません。

に変更しようとyield itemしましたが、クロールされるすべての URL に対してyield itemsのエラー メッセージが返されます。ERROR: Spider must return Request, BaseItem or None, got 'list' in <GET http://www.yelp.com/biz/[...]>

0 投票する
2 に答える
3512 参照

python - Pythonスクリプトからスクレイピーを実行する

データを取得してデータベースに保存する必要があるため、pythonスクリプトファイルからscrapyを実行しようとしています。しかし、scrapyコマンドで実行すると

スクリプトは正常に実行されますが、スクリプトで実行しようとすると、このリンクをたどります

このエラーが発生します

get_project_setting() が見つからない理由を理解できませんが、端末で Scrapy コマンドを使用すると正常に動作します

ここに私のプロジェクトのスクリーンショットがあります

ここに画像の説明を入力

pricewatch.py​​ コードは次のとおりです。

0 投票する
0 に答える
125 参照

python - Pythonスクリプトから一度に複数のスパイダーを実行するには?

4 つのスパイダーを作成しました。これまでにスクリプトを実行したときに複数のスパイダーを実行したいのですが、これを試してみましたが、助けにはなりませんでした

私はこれらの4つのクモを持っています

私は1つのコマンドでそれらすべてを実行する必要があるので、これをやっています...

これを行う正しい方法は何ですか????

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

python - Selenium HTML 文字列を Scrapy に渡して、スクレイピングする URL の Scrapy リストに URL を追加します

Python、Scrapy、Selenium は初めてです。したがって、あなたが提供できるどんな助けも大歓迎です。

Selenium から取得した HTML をページ ソースとして取得し、それを Scrapy Response オブジェクトに処理できるようにしたいと考えています。主な理由は、Selenium Webdriver ページ ソースの URL を、Scrapy が解析する URL のリストに追加できるようにするためです。

繰り返しますが、助けていただければ幸いです。

簡単な 2 番目の質問として、Scrapy が見つけてスクレイピングした URL のリストに含まれている、または含まれていた URL のリストを表示する方法を知っている人はいますか?

ありがとう!

*******編集******* これは私がやろうとしていることの例です。パート5がわかりません。