Как получить подстраницы URL, не зная их? - PullRequest
0 голосов
/ 08 апреля 2019

Я хотел бы знать любые подстраницы определенного URL. Например. У меня есть URL example.com. Могут существовать подстраницы example.com/home, example.com/help и так далее. Можно ли получить все такие подстраницы, не зная там точного названия?

Я думал, что справлюсь с этой проблемой с помощью веб-сканера. Но он просто сканирует страницы, упомянутые на самой странице.

Надеюсь, вы понимаете мою проблему и можете помочь мне с ней.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Нет, вы не можете.

Как вы описываете ситуацию, веб-сайт подразумевает, что эти URL-адреса должны быть секретными.

Любой способ найти такие URL-адреса - это эксплойт безопасности, о котором следует немедленно сообщить владельцам веб-сайтов, чтобы они могли это исправить.

0 голосов
/ 09 апреля 2019

Чтобы ответить на ваш вопрос, да. Scrapy "ползают" пауки работают, устанавливая правила, которые могут быть установлены, чтобы делать именно то, что вы пытаетесь. В случае сомнений всегда идите в документы!

Пара вещей на заметку: Вы можете создать паука для сканирования таким же образом при создании универсального паука!

scrapy genspider -t crawl nameOfSpider website.com

В случае с пауком-обходчиком вы должны установить правила, которые, в основном, сообщают скрапу, куда и куда не ходить; как твое регулярное выражение?!

class MySpider(CrawlSpider):
    name = 'example.com'
    allowed_domains = ['example.com'] # PART 1: Domain Restriction
    start_urls = ['http://www.example.com']

    rules = (
        Rule(LinkExtractor(allow=('.*')), callback='parse_item'), # PART 2: Call Back
    )

Теперь я скопировал и вставил это из Официальных документов и изменил то, как это должно выглядеть для вас, но я не проверил код, так что да ... хотя логика есть ...

Он работает, получая ВСЕ ссылку, которую он может видеть в зависимости от установленных вами правил, что-то делает с указанной ссылкой.

  1. Вы хотите ограничить все остальные домены, кроме одного, который вы просматриваете

  2. В этом примере я установил подстановочный знак, чтобы буквально принимать каждую и любую страницу в домене ... Как только вы выясните структуру сайта, вы можете использовать логику для создания того, что вам нужно.

Хотя вы должны чаще смотреть на документы. Я использую терапию около 6-7 лет, и я все еще возвращаюсь к страницам руководства!

...