По заданному доменному имени получают список URL, которые начинаются с шаблона - PullRequest
0 голосов
/ 15 января 2019

Например, домен https://example.com/,, и есть только эти 4 субдомена

Так что, если я укажу https://example.com/p_, я получу первые 3 URL.

Как мне использовать сканер для этого?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

В скрапе есть Linkextractor здесь

Они используются для указания стиля url для обхода путем передачи regex. Чтобы использовать это, вам также нужно наследовать от CrawlSpider вместо Spider и импортировать некоторые библиотеки.

вы можете использовать, как,

Rule(
    LinkExtractor(`regex(.*/p_.?)`, callback=function_name)
)

Больше вы можете прочитать в документации.

0 голосов
/ 15 января 2019

К вашему сведению, в приведенном вами примере это не субдомены, а пути URI.

В Python 3:

import urllib.parse

def gen_uri_paths(baseURL, append_paths):
    res = urllib.parse.urlparse(baseURL)
    uri_paths = []
    for p in append_paths:
        u = list(res)
        u[2] += p
        uri_paths.append(urllib.parse.ParseResult(*u).geturl())
    return uri_paths

# Returns ['https://example.com/p_1', 'https://example.com/p_2', 'https://example.com/p_3', 'https://example.com/a_1']
gen_uri_paths("https://example.com", ["p_1", "p_2", "p_3", "a_1"])

Для сканирования просмотрите scrapy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...