Очистить сайт / домен и проверить URL-адреса определенного формата - JavaScript - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу написать JavaScript, который проверяет, включает ли домен определенный набор URL-адресов.

Например:

  1. Проверьте, если http://www.mywebsite.com/
  2. Включает URL-адреса, начинающиеся с http://www.mywebsite.com/123

Возможно ли сделать это в JavaScript?

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

let offerLinks = document.querySelectorAll('a[href*="mywebsite.com/offers"]');

for (let index = 0; index < offerLinks.length; index++) {
   const element = offerLinks[index];
   console.log("These are all the looped offer links - " + element); 
}

Спасибо.

1 Ответ

0 голосов
/ 06 февраля 2020

Я предполагаю, что вы пишете приложение node.js. (Из-за ограничений безопасности на том же сайте проверка, которую вы хотите выполнить, будет заблокирована только для веб-сайта хостинга в случае сценария браузера).

Предполагается, что вы пишете приложение Node, операция, которую вы хотите выполнить, это называется «выскабливание» (действительно простая версия выскабливания). Существует множество библиотек для Node, которые могут вам помочь. Одним из них является Cheerio .

Первым делом загрузите содержимое URL в строку, вы можете скопировать код из этого ответа для этого.

Второй проанализируйте строку с помощью cheerio и извлеките ссылки, как вам нужно, что-то вроде:

const cheerio = require('cheerio')
const $ = cheerio.load(webPageLoadedContent)
$('a').filter(function(i, el) {
  return $(this).attr('href').includes('mywebsite.com/offers')
})

Это процедура для отдельной веб-страницы. Чтобы развернуть сайт целиком, вы должны повторно применять его к каждому найденному URL (фильтрация по названию сайта).

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