Соскоб с Cheerio и возвратом запроса 503/403 Ошибка - PullRequest
0 голосов
/ 01 сентября 2018

Я использую Cheerio и Request, чтобы очистить Барниса, но безуспешно.

Код здесь:

const options = {
    method: 'GET',
    url: 'https://www.barneys.com/designer-list/designerlist.jsp?cgid=BNY-men',
    headers: {
      "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
      "Accept-Encoding": "gzip, deflate, br",
      "accept-language": "en-US,en;q=0.9,ko;q=0.8",
      "cache-control": "no-cache",
      "pragma": "no-cache",
      "referer": "https://www.barneys.com/",
      "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
    }
  }
    request(options, function(err, resp, html) {
      if (!err && resp.statusCode == 200) {
        let $ = cheerio.load(html);
        console.log('html', html);
      } else {
        console.log('html:', html)
        console.log('err: ', err);
        console.log('response statusCode ', resp.statusCode);
        console.log('resp body', resp.body);
      }
    })

Вывод из функции:

err:  null
response statusCode  503
resp body <HTML><HEAD>
<TITLE>Service Unavailable</TITLE>
</HEAD><BODY>
<H1>Service Unavailable - DNS failure</H1>
The server is temporarily unable to service your request.  Please try again
later.<P>
Reference&#32;&#35;11&#46;76908143&#46;1535760722&#46;f55418e
</BODY></HTML>

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

...