scrapy не отслеживает все URL на странице - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в scrapy и только что успешно просканировал страницу, получив 58 результатов, в то время как я искал 120 доступных результатов.

Кажется, проблема в том, что если на одном сайте есть 4 ссылки, scrapyследует за первой, а остальные три никогда не будут посещаться, поскольку ссылки на эти страницы находятся только на этой одной странице и никогда не будут посещаться снова.Я предполагаю это, поскольку в наборе результатов эти 3 отсутствуют, но ссылки в порядке, если я захожу на страницу в браузере.

Паук:

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule

#CLOSESPIDER_PAGECOUNT=1

from bid.items import riegerItem

class GetbidSpider(CrawlSpider):
    name = 'example'
    allowed_domains = ['www.example.co.uk']
    start_urls = ['https://www.example.co.uk/']

    rules = (

        Rule(
            LinkExtractor(allow=['test/.*,item,.*u']), 
            callback='parse_item'
        ),

        # follow all urls in beta folder that are not schmuck
        Rule(
            LinkExtractor(allow=['test/[^dismiss|this].*']), 
            follow=True
        ),
    )
    ...

Вывод:

{'downloader/request_bytes': 31681,
 'downloader/request_count': 101,
 'downloader/request_method_count/GET': 101,
 'downloader/response_bytes': 1129752,
 'downloader/response_count': 101,
 'downloader/response_status_count/200': 101,
 'dupefilter/filtered': 746,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2018, 11, 22, 23, 0, 30, 937420),
 'item_scraped_count': 58,
 'log_count/DEBUG': 161,
 'log_count/INFO': 8,
 'memusage/max': 49242112,
 'memusage/startup': 49242112,
 'request_depth_max': 4,
 'response_received_count': 101,
 'scheduler/dequeued': 100,
 'scheduler/dequeued/memory': 100,
 'scheduler/enqueued': 100,
 'scheduler/enqueued/memory': 100,
 'start_time': datetime.datetime(2018, 11, 22, 23, 0, 26, 78036)}
2018-11-23 00:00:30 [scrapy.core.engine] INFO: Spider closed (finished)

Я использую настройки по умолчанию из шаблона spider.

Если я запусту его снова, будут получены немного другие суммы

Как можно отладить эту проблему по порядкуполучить все результаты?

1 Ответ

0 голосов
/ 23 ноября 2018

Нашел проблему.Регулярное выражение со вторым правилом запрещало эти URL.Работал на регулярное выражение и не работает нормально.

...