Итак, моя проблема относительно проста. У меня есть один паук, который сканирует несколько сайтов, и мне нужно, чтобы они возвращали данные в том порядке, в котором я пишу его в своем коде. Он размещен ниже.Сканирование URL-адресов для сканирования в порядке
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from mlbodds.items import MlboddsItem
class MLBoddsSpider(BaseSpider):
name = "sbrforum.com"
allowed_domains = ["sbrforum.com"]
start_urls = [
"http://www.sbrforum.com/mlb-baseball/odds-scores/20110328/",
"http://www.sbrforum.com/mlb-baseball/odds-scores/20110329/",
"http://www.sbrforum.com/mlb-baseball/odds-scores/20110330/"
]
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//div[@id="col_3"]//div[@id="module3_1"]//div[@id="moduleData4952"]')
items = []
for site in sites:
item = MlboddsItem()
item['header'] = site.select('//div[@class="scoreboard-bar"]//h2//span[position()>1]//text()').extract()# | /*//table[position()<2]//tr//th[@colspan="2"]//text()').extract()
item['game1'] = site.select('/*//table[position()=1]//tr//td[@class="tbl-odds-c2"]//text() | /*//table[position()=1]//tr//td[@class="tbl-odds-c4"]//text() | /*//table[position()=1]//tr//td[@class="tbl-odds-c6"]//text()').extract()
items.append(item)
return items
Результаты возвращаются в случайном порядке, например, он возвращает 29, затем 28, затем 30-го. Я попытался изменить порядок планировщика из DFO в BFO, на случай, если это была проблема, но это ничего не изменило.
Заранее спасибо.
Каан вы показать нам, как вы звоните ваш паук? –
> У меня есть один паук, сканирующий несколько сайтов, Вы имеете в виду несколько стартовых URL-адресов? – warvariuc