Форум сайта python.su
Доброго времени суток уважаемые форумчане, уже некоторое время разбираюсь с фреймворком для парсинга скрапи и возникла очень большая непонятность с правилами
# -*- coding: utf-8 -*- import scrapy from testy.items import TestyItem from scrapy.loader import ItemLoader from scrapy.spiders import CrawlSpider, Rule from scrapy.linkextractors import LinkExtractor ------------------------------------------------------ class TestyismySpider(CrawlSpider): name = "testyismy" allowed_domains = ["i"] start_urls = ['https://i'] rules = ( Rule(LinkExtractor( restrict_xpaths =('//a[contains(text(),"Вперёд")][1]')), callback = "parse_boobs",follow = True), ) def parse_boobs(self, response): l = ItemLoader(item = TestyItem(),response = response) l.add_xpath('url','//h3/a[contains(@href,"threads")]/@href') return l.load_item()
Отредактировано sl0w (Фев. 22, 2017 02:13:05)
Офлайн
переделал немного паука
#-*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from scrapy.loader import ItemLoader from testy.items import TestyItem import re class MvidSpider(CrawlSpider): name = 'mvid' allowed_domains = ['mvideo.ru'] start_urls = ['http://www.mvideo.ru/gadzhety/smart-chasy-400'] rules = ( Rule(LinkExtractor( restrict_xpaths ='//*[@class = "font-icon icon-right-open ico-pagination-next "]')), Rule(LinkExtractor( restrict_xpaths ='//*[@class = "product-tile-title-link sel-product-tile-title"]'), callback = "parse_item") ) def parse_item(self, response): l = ItemLoader(item = TestyItem(),response = response) l.add_xpath('url','//h1/text()',re ='.[a-zA-Zа-яА-Я,.-]+') return l.load_item()
Отредактировано sl0w (Фев. 22, 2017 20:06:36)
Прикреплённый файлы:
archive.zip (9,3 KБ)
Офлайн
>>> import json >>> >>> json.dumps('["абвг"]') '"[\\"\\u0430\\u0431\\u0432\\u0433\\"]"' >>> >>> json.dumps('["абвг"]', ensure_ascii=False) '"[\\"абвг\\"]"' >>>
Отредактировано py.user.next (Фев. 23, 2017 06:24:03)
Офлайн