クローラーにこのコードがあります
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 LOOP2yield requestそしてreturn item出力を与えるLOOP1 LOOP1 LOOP1 LOOP2yield requestそしてyield item出力を与えるLOOP1 LOOP1 LOOP1 LOOP2return requestそしてyield item出力を与えるLOOP1 LOOP2
どうすれば入手することができますかLOOP 1 LOOP2 LOOP1 LOOP2 AND so on