сканер сканирования - я не могу извлечь и перейти по ссылкам под адресом данных - PullRequest
0 голосов
/ 22 января 2019

Мой паук переходит по ссылкам href, но не переходит по ссылкам с URL-адресами данных

У меня есть паук-обходчик скрапа, который попадает по URL-адресу https://www.grainger.com/category/tools/drills-and-drivers/standard-drills-and-drivers

У меня есть правило следовать нескольким категориям иодин для парсинга элементов, когда он сталкивается с продуктом

Я попытался ограничить xpath для примера продукта (restrict_xpaths = ('// li [@ data-url]')), но не повезло.

class GraingerSpider(CrawlSpider):
    name = 'grainger.com'
    allowed_domains = ['grainger.com']
    start_urls = [
        'https://www.grainger.com/category/tools/drills-and-drivers/standard-drills-and-drivers'  
    ]

    rules = (

        Rule(LinkExtractor(allow=('/category/tools/', ), deny=('/ecatalog/', ))),

        # Extract links matching 'item.php' and parse them with the spider's method parse_item
        Rule(LinkExtractor(allow=('/product/', ), attrs=('href','data-url',), restrict_xpaths=('//li[@data-url]')), callback='parse_item',),

    )

Что происходит, паук будет продолжать находить новые страницы категорий / инструментов, но никогда не найдет страницу продукта, которая находится под data-url

...