【发布时间】:2020-11-11 11:41:24
【问题描述】:
我有一个执行速度非常慢的刮板。我知道瓶颈不是管道(即bi_pipeline),因为其他不使用XMLFeedSpider 的刮刀非常快。这是我的代码:
class MySpider(XMLFeedSpider):
custom_settings = {
'ITEM_PIPELINES': {
'my.pipelines.bi_pipeline': 400
}
}
start_urls=["http://localhost/my.xml"]
iterator = 'iternodes' # This is actually unnecessary, since it's the default value
itertag = 'DEALER'
def parse_node(self, response, node):
my_item = Dealer()
my_item['title'] = node.xpath('TITLE/text()').get()
# send to pipeline to get stored in database
yield my_item
# get the sales for each dealer
yield Request("https://some.domain.com/od/dealers.json?id=" + node.xpath('ID/text()').get(), callback=self.each_sale)
我不知道为什么,但这很慢。就像每分钟 35 个项目。我应该在哪里进行优化?
【问题讨论】:
-
如果您只是访问这些页面会发生什么?也许服务器只是很慢或正在限制您的速率?
标签: scrapy