假设我有一个看起来像这样的刮擦物品
{
name: "Foo",
country: "US",
url: "http://..."
}
在管道中,我想向 url 发出 GET 请求并检查一些标头,例如 content_type 和 status。当标题不满足某些条件时,我想删除该项目。喜欢
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