でHTTPリクエストを作る私はパイプラインでこのScrapyは、パイプライン
{
name: "Foo",
country: "US",
url: "http://..."
}
は私がURLにGETリクエストを作成し、CONTENT_TYPEとステータスのようないくつかのヘッダーを確認したいように見える掻き取ったアイテムを持っていると仮定します。ヘッダーが特定の条件を満たしていないときは、アイテムをドロップします。同様
class MyPipeline(object):
def process_item(self, item, spider):
request(item['url'], function(response) {
if (...) {
raise DropItem()
}
return item
}, function(error){
raise DropItem()
})
パイプラインを使用してこのような匂いはありません。どう思いますか?どのようにこれを達成するための任意のアイデアですか?
クモ:
import scrapy
import json
class StationSpider(scrapy.Spider):
name = 'station'
start_urls = ['http://...']
def parse(self, response):
jsonResponse = json.loads(response.body_as_unicode())
for station in jsonResponse:
yield station
あなたはそれを蜘蛛の内部scrapyの方法を行うためのいくつかのコードを表示することができますか?それは正しい解決策であるようです。 –
あなたはあなたのスパイダーのコードを共有する必要があります(または、あなたがあなたが後でチェックしたいそれらのURLを持つ項目を生み出している部分) – eLRuLL