Я пытаюсь рекурсивно очистить названия заданий от https://iowacity.craigslist.org/search/jjj. То есть, я хочу, чтобы паук соскребал все названия работ на странице 1, а затем переместился по ссылке «далее>» внизу, чтобы очистить следующую страницу и так далее. Я передразнил учебник Майкла Хермана, чтобы написать своего паука. http://mherman.org/blog/2012/11/08/recursively-scraping-web-pages-with-scrapy/#.ViJ6rPmrTIU.Нет данных, скребковых после рекурсивного выскабливания
Вот мой код:
import scrapy
from craig_rec.items import CraigRecItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
class CraigslistSpider(CrawlSpider):
name = "craig_rec"
allowed_domains = ["https://craigslist.org"]
start_urls = ["https://iowacity.craigslist.org/search/jjj"]
rules = (
Rule(SgmlLinkExtractor(allow=(), restrict_xpaths=('//a[@class="button next"]',)), callback="parse_items", follow= True),
)
def parse_items(self, response):
items = []
for sel in response.xpath("//span[@class = 'pl']"):
item = CraigRecItem()
item['title'] = sel.xpath("a/text()").extract()
items.append(item)
return items
Я выпустил паук, но никаких данных не соскабливают. Любая помощь? Благодаря!
Зачем вам задавать один и тот же вопрос дважды, если решение будет одинаковым для обоих ваших пауков? – GHajba