2013-01-04 33 views
0

我有这样的代码我怎样才能让scrapy处理URL依次

def parse(self, response): 

    hxs = HtmlXPathSelector(response) 
    sites = hxs.select('//div[@class="headline_area"]') 
    items = [] 

    for site in sites[:5]: 
     item = StackItem() 
     log.msg(' LOOP' +str(ivar)+ '', level=log.ERROR) 
     item['title'] ="yoo ma" 
     request = Request("blabla", callback=self.test1) 
     request.meta['item'] = item 
     page_number = nextlink.split("&")[-1].split("=")[-1] 
     if int(page_number) > 500: 
      raise CloseSpider('Search Exceeded 500') 
     ivar = ivar + 1 
     yield request 

     mylinks= soup.find_all('a') 

     if mylinks: 
      nextlink = mylinks[0].get('href') 
      page_number = nextlink.split("&")[-3].split("=")[-1] 
      request = Request(urljoin(response.url, nextlink), callback=self.parse) 
      request.meta['page'] = page_number 
      yield request 

现在我的问题是,假设我要停在page_number = 5

现在

斗志旺盛的所有项目前转到该页面从第1页,第2页等下载并停止时,它首次到达那里。

如何才能摆脱porblem的,它prcess才去page = 5

回答

0

是否链接有不同的页面上的一些规律性的所有链接?例如,如果第5页的链接是www.xxxx.net/nForum/#!article/Bet/447540?p=5。您可以直接与p=5联系。

+0

yesall与wuth p = 1然后是2然后是5等等相似。你能解释一下吗,我该怎么做。任何文档链接 – user19140477031

+0

也许我误解了你的问题。你想在第5页之前处理所有页面,而不是直接跳到第5页,对吗? 如果是这样,我认为这个问题可能与'page_number = nextlink.split(“&”)[ - 3] .split(“=”)[ - 1]'的值有关。您可以打印它进行调试。 – jinghli