クローラーにこのコードがあります
class StackSpider(InitSpider):
name = 'stack'
allowed_domains = ['sitepoint.com']
start_urls = ["http://www.sitepoint.com"]
start_page = "http://www.sitepoint.com"
item = StackItem()
def init_request(self):
return Request(url=self.start_page, callback=self.parse)
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//div[@class="headline_area"]')
items = []
ivar = 1
for site in sites[:5]:
item = StackItem()
log.msg(' LOOP' +str(ivar)+ '', level=log.ERROR)
item['title'] ="yoo ma"
request = Request("http://www.sitepoint.com/getting-to-know-css3-selectors-structural-pseudo-classes/", callback=self.test1)
request.meta['item'] = item
ivar = ivar + 1
yield request
def test1(self, response):
log.msg(' LOOP 2 \n', level=log.ERROR)
item = response.meta['item']
item['desc'] = "test4"
return item
ドキュメントに従って実行しましたが、1 つのループでしか機能しません。つまり、ログイン画面でしか見ることができません
LOOP1
LOOP2
3回繰り返せばいい
return と yield の別の組み合わせを試したので、
return request
そしてreturn item
出力を与えるLOOP1 LOOP2
yield request
そしてreturn item
出力を与えるLOOP1 LOOP1 LOOP1 LOOP2
yield request
そしてyield item
出力を与えるLOOP1 LOOP1 LOOP1 LOOP2
return request
そしてyield item
出力を与えるLOOP1 LOOP2
どうすれば入手することができますかLOOP 1 LOOP2 LOOP1 LOOP2 AND so on