4
У меня есть этот код для рамки Scrapy:Scrapy ползти со следующей страницей
# -*- 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'
Но проблема в том, что я получаю 100 результатов, это не идет на следующие страницы.
Что здесь не так?
вы можете дать мне пример с 'CrawlSpider'? И рекомендуется ли это? –
Добавлен код 'CrawlSpider'. Обратите внимание, что вы не должны использовать 'parse' в качестве функции обратного вызова, потому что это используется внутри! –
Спасибо, он отлично работает. –