Scrapy d'analyse à la prochaine page
J'ai ce code pour scrapy cadre:
# -*- coding: utf-8 -*-
import scrapy
from scrapy.contrib.spiders import Rule
from scrapy.linkextractors import LinkExtractor
from lxml import html
class Scrapy1Spider(scrapy.Spider):
name = "scrapy1"
allowed_domains = ["sfbay.craigslist.org"]
start_urls = (
'http://sfbay.craigslist.org/search/npo',
)
rules = (Rule(LinkExtractor(allow=(), restrict_xpaths=('//a[@class="button next"]',)), callback="parse", follow= True),)
def parse(self, response):
site = html.fromstring(response.body_as_unicode())
titles = site.xpath('//div[@class="content"]/p[@class="row"]')
print len(titles), 'AAAA'
Mais le problème est que je reçois 100 résultats, il n'est pas aller vers les pages suivantes.
Quel est le problème ici?
OriginalL'auteur Mirza Delic | 2015-09-17
Vous devez vous connecter pour publier un commentaire.
Votre
rule
n'est pas utilisé parce que vous n'utilisez pas unCrawlSpider
.Donc, vous devez créer la page suivante
requests
manuellement comme suit:Ou utiliser le
CrawlSpider
comme suit:CrawlSpider
? Et est-il recommandé?Ajouté
CrawlSpider
code. Notez que vous ne devez pas utiliserparse
comme fonction de rappel parce que c'est utilisé en interne!Merci, ça fonctionne parfaitement.
OriginalL'auteur Frank Martin