Сканирование и копирование случайных сайтов - PullRequest
0 голосов
/ 28 сентября 2019

Я хочу создать веб-сканер, который будет случайным образом перемещаться по Интернету и помещать испорченные (http statuscode 4xx) ссылки на изображения в базу данных.

До сих пор я успешно собирал скребок, используя пакеты узлов request иcheerio.Я понимаю, что ограничения - это сайты, которые динамически создают контент, поэтому я думаю переключиться на puppeteer.Было бы неплохо сделать это как можно быстрее, но это необязательно, так как сервер должен работать неопределенно долго.

Мой самый большой вопрос: с чего начать ползать?

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

Ответы [ 2 ]

1 голос
/ 28 сентября 2019

Список доменов

Как правило, следующие сервисы предоставляют списки доменных имен:

  • Alexa Top 1 Million : top-1m.csv.zip (бесплатно)
    CSV-файл, содержащий 1 миллион строк с самыми посещаемыми сайтами в соответствии с алгоритмами Alexas
  • Verisign : Информация о файле доменной зоны верхнего уровня (бесплатно IIRC)
    Вы можете попросить Verisign напрямую через связанную страницу предоставить вам список доменов .com и .net.Вы должны заполнить форму для запроса данных.Если я правильно помню, список предоставляется бесплатно для исследовательских целей (возможно, также по другим причинам), но может пройти несколько недель, пока вы не получите одобрение.
  • whoisxmlapi.com : Все зарегистрированные домены (требуется оплата)
    Компания продает все виды списков, содержащих информацию, касающуюся доменных имен, регистраторов, IP-адресов и т. Д.
  • premiumdrops.com : Списки доменных зон (требуется оплата)
    Как и в предыдущем, вы можете получить списки различных доменов верхнего уровня.

Подход к сканированию

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

Чтобы дать вам приблизительное представление о скорости сканирования: допустим, ваш сервер может сканировать 5 веб-сайтов в секунду(для этого требуется 10-20 параллельных экземпляров браузера при 2-4 секундах на страницу), вам потребуется примерно два дня на 1 миллион страниц (1,000,000 / 5 / 60 / 60 / 24 = 2.3).

0 голосов
/ 28 сентября 2019

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

...