Загрузка...

Пишу бота на Node js. Пару вопросов к знатокам

Тема в разделе Node.js создана пользователем Kenko 25 июн 2021. 419 просмотров

  1. Kenko
    Kenko Автор темы 25 июн 2021
    Использую discord.js последней актуальной версии (12.5.3)
    Я использую axios последней актуальной версии.

    У меня возникла проблема, когда я пытаюсь спарсить страницу
    https://zelenka.guru/bykenko/ . У меня получилось спарсить другую страницу https://osu.ppy.sh/home

    C:\bot\dsbot>node main.js sucess

    Код в main.js
    Код
    axios.get("https://zelenka.guru/bykenko/")
    .then(response => {
    console.log(response.data);
    })
    .catch(error =>{
    console.log(error);
    })
    HTML

    C:\bot\dsbot>node main.js
    sucess
    <!DOCTYPE html>
    <html prefix="og: http://ogp.me/ns#" lang="en">
    <head>
    <link rel="apple-touch-icon" sizes="180x180" href="https://osu.ppy.sh/apple-touch-icon.png">
    <link rel="icon" sizes="32x32" href="https://osu.ppy.sh/favicon-32x32.png">
    <link rel="icon" sizes="16x16" href="https://osu.ppy.sh/favicon-16x16.png">
    <link rel="manifest" href="https://osu.ppy.sh/site.webmanifest">
    <link rel="mask-icon" href="https://osu.ppy.sh/safari-pinned-tab.svg" color="#e2609a">
    <meta name="msapplication-TileColor" content="#603cba">
    <meta name="theme-color" content="hsl(255, 10%, 40%)">

    <meta charset="utf-8">
    <meta name="description" content="osu! - Rhythm is just a *click* away! With Ouendan/EBA, Taiko and original gameplay modes, as well as a fully functional level editor.">
    <meta name="keywords" content="osu, peppy, ouendan, elite, beat, agents, ds, windows, game, taiko, tatsujin, simulator, sim, xna, ddr, beatmania, osu!, osume">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">



    <meta name="csrf-param" content="_token">
    <meta name="csrf-token" content="fZXh6JLMbC7iPP2LBQd4jZtI3AimDIRLgUXclnva">

    <meta name="turbolinks-cache-control" content="no-preview">



    <link rel="stylesheet" media="all" href="/assets/css/app.e0fc0de1.css" data-turbolinks-track="reload">

    <script>
    var currentLocale = "en";
    var fallbackLocale = "en";
    </script>

    <script src="/assets/js/runtime.b7562c9e.js" data-turbolinks-track="reload"></script>
    <script src="/assets/js/vendor.0f8a2df4.js" data-turbolinks-track="reload"></script>


    <script src="/assets/js/locales/en.edeac32f.js" data-turbolinks-track="reload"></script>

    <script src="/assets/js/commons.4ab9ae8e.js" data-turbolinks-track="reload"></script>
    <script src="/assets/js/app.3a3ae49b.js" data-turbolinks-track="reload"></script>

    <script
    src="/assets/js/moment-locales/en-gb.734bcbc6.js"
    data-turbolinks-track="reload"
    ></script>


    <title>welcome | osu!</title>
    </head>

    <body
    class="
    osu-layout
    osu-layout--body
    t-section
    action-index
    osu-layout--body-landing
    "
    >
    <style>
    :root {
    --base-hue: 255;
    --base-hue-deg: 255deg;
    }
    </style>
    <div id="overlay" class="blackout blackout--overlay" style="display: none;"></div>
    <div class="blackout js-blackout" data-visibility="hidden"></div>


    <div class="osu-layout__section osu-layout__section--full js-content home_index">
    <nav class="osu-layout__row">
    <!-- Mobile Navigation -->
    <div class="visible-xs no-print js-header--main">
    <div class="navbar-mobile-before"></div>

    <div class="navbar-mobile" role="navigation">
    <div class="navbar-mobile__header-section">
    <a class="navbar-mobile__logo" href="https://osu.ppy.sh/home"></a>
    <span class="navbar-mobile__brand u-ellipsis-overflow">
    dashboard
    </span>
    </div>

    <div class="navbar-mobile__header-section navbar-mobile__header-section--buttons">
    <button
    type="button"
    class="navbar-mobile__toggle js-click-menu"
    data-click-menu-target="mobile-menu"
    >
    <span class="sr-only">Toggle navigation</span>
    <span class="navbar-mobile__toggle-icon">
    <i class="fas fa-chevron-down"></i>
    </span>
    </button>
    </div>
    </div>

    <div
    class="mobile-menu js-click-menu u-fancy-scrollbar"
    data-click-menu-id="mobile-menu"
    >
    <div class="mobile-menu__content">
    <div class="mobile-menu__tabs">
    <button
    class="mobile-menu-tab mobile-menu-tab--user js-user-link"
    >
    <span class="mobile-menu-tab__avatar">
    <span class="avatar avatar--full-rounded avatar--guest"></span>
    </span>

    <span class="u-ellipsis-overflow">
    sign in / register
    </span>
    </button>

    <button class="mobile-menu-tab js-click-menu" data-click-menu-target="mobile-nav">
    <span class="fas fa-sitemap"></span>
    </button>

    </div>

    <div class="mobile-menu__item js-click-menu" data-click-menu-id="mobile-user">
    <div class="navbar-mobile-item js-click-menu--close">
    <a
    class="js-user-link navbar-mobile-item__main navbar-mobile-item__main--user"
    href="#"
    title="click to sign in"
    >
    <span class="avatar avatar--guest avatar--navbar-mobile"></span>

    Guest
    </a>
    </div>
    </div>

    <div class="mobile-menu__item js-click-menu" data-click-menu-id="mobile-nav">
    <div class="navbar-mobile-item">
    <a
    data-click-menu-target="nav-mobile-home"
    class="navbar-mobile-item__main js-click-menu"
    href="https://osu.ppy.sh/home"
    >
    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--closed">
    <i class="fas fa-chevron-right"></i>
    </span>

    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--opened">
    <i class="fas fa-chevron-down"></i>
    </span>

    home
    </a>

    <ul class="navbar-mobile-item__submenu js-click-menu" data-click-menu-id="nav-mobile-home">
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/home/news"
    >
    news
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/wiki/en/Team"
    >
    team
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/home/changelog"
    >
    changelog
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/home/download"
    >
    download
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/home/search"
    >
    search
    </a>
    </li>
    </ul>
    </div>
    <div class="navbar-mobile-item">
    <a
    data-click-menu-target="nav-mobile-beatmaps"
    class="navbar-mobile-item__main js-click-menu"
    href="https://osu.ppy.sh/beatmapsets"
    >
    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--closed">
    <i class="fas fa-chevron-right"></i>
    </span>

    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--opened">
    <i class="fas fa-chevron-down"></i>
    </span>

    beatmaps
    </a>

    <ul class="navbar-mobile-item__submenu js-click-menu" data-click-menu-id="nav-mobile-beatmaps">
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/beatmapsets"
    >
    listing
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/beatmaps/artists"
    >
    featured artists
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/beatmaps/packs"
    >
    packs
    </a>
    </li>
    </ul>
    </div>
    <div class="navbar-mobile-item">
    <a
    data-click-menu-target="nav-mobile-rankings"
    class="navbar-mobile-item__main js-click-menu"
    href="https://osu.ppy.sh/rankings/osu/performance"
    >
    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--closed">
    <i class="fas fa-chevron-right"></i>
    </span>

    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--opened">
    <i class="fas fa-chevron-down"></i>
    </span>

    rankings
    </a>

    <ul class="navbar-mobile-item__submenu js-click-menu" data-click-menu-id="nav-mobile-rankings">
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/rankings/osu/performance"
    >
    performance
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/rankings/osu/charts"
    >
    spotlights
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/rankings/osu/score"
    >
    score
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/rankings/osu/country"
    >
    country
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/multiplayer/rooms/latest"
    >
    multiplayer
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/p/kudosu"
    >
    kudosu
    </a>
    </li>
    </ul>
    </div>
    <div class="navbar-mobile-item">
    <a
    data-click-menu-target="nav-mobile-community"
    class="navbar-mobile-item__main js-click-menu"
    href="https://osu.ppy.sh/community/forums"
    >
    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--closed">
    <i class="fas fa-chevron-right"></i>
    </span>

    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--opened">
    <i class="fas fa-chevron-down"></i>
    </span>

    community
    </a>

    <ul class="navbar-mobile-item__submenu js-click-menu" data-click-menu-id="nav-mobile-community">
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/community/forums"
    >
    forums
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/community/chat"
    >
    chat
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/community/contests"
    >
    contests
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/community/tournaments"
    >
    tournaments
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/community/livestreams"
    >
    live
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://discord.gg/ppy"
    >
    development
    </a>
    </li>
    </ul>
    </div>
    <div class="navbar-mobile-item">
    <a
    data-click-menu-target="nav-mobile-store"
    class="navbar-mobile-item__main js-click-menu"
    href="https://osu.ppy.sh/store/listing"
    >
    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--closed">
    <i class="fas fa-chevron-right"></i>
    </span>

    <span class="navbar-mobile-item__icon navbar-mobile-item__icon--opened">
    <i class="fas fa-chevron-down"></i>
    </span>

    store
    </a>

    <ul class="navbar-mobile-item__submenu js-click-menu" data-click-menu-id="nav-mobile-store">
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/store/listing"
    >
    listing
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/store/cart"
    >
    cart
    </a>
    </li>
    <li>
    <a
    class="navbar-mobile-item__submenu-item js-click-menu--close"
    href="https://osu.ppy.sh/store/orders"
    >
    order history
    </a>
    </li>
    </ul>
    </div>


    JavaScript

    C:\bot\dsbot>node main.js
    sucess
    Error: socket hang up
    at connResetException (internal/errors.js:607:14)
    at TLSSocket.socketOnEnd (_http_client.js:493:23)
    at TLSSocket.emit (events.js:327:22)
    at endReadableNT (internal/streams/readable.js:1327:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    code: 'ECONNRESET',
    config: {
    url: 'https://zelenka.guru/bykenko',
    method: 'get',
    headers: {
    Accept: 'application/json, text/plain, */*',
    'User-Agent': 'axios/0.21.1'
    },
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    validateStatus: [Function: validateStatus],
    data: undefined
    },
    request: <ref *1> Writable {
    _writableState: WritableState {
    objectMode: false,
    highWaterMark: 16384,
    finalCalled: false,
    needDrain: false,
    ending: false,
    ended: false,
    finished: false,
    destroyed: false,
    decodeStrings: true,
    defaultEncoding: 'utf8',
    length: 0,
    writing: false,
    corked: 0,
    sync: true,
    bufferProcessing: false,
    onwrite: [Function: bound onwrite],
    writecb: null,
    writelen: 0,
    afterWriteTickInfo: null,
    buffered: [],
    bufferedIndex: 0,
    allBuffers: true,
    allNoop: true,
    pendingcb: 0,
    prefinished: false,
    errorEmitted: false,
    emitClose: true,
    autoDestroy: true,
    errored: null,
    closed: false
    },
    _events: [Object: null prototype] {
    response: [Function: handleResponse],
    error: [Function: handleRequestError]
    },
    _eventsCount: 2,
    _maxListeners: undefined,
    _options: {
    maxRedirects: 21,
    maxBodyLength: 10485760,
    protocol: 'https:',
    path: '/bykenko',
    method: 'GET',
    headers: [Object],
    agent: undefined,
    agents: [Object],
    auth: undefined,
    hostname: 'zelenka.guru',
    port: null,
    nativeProtocols: [Object],
    pathname: '/bykenko'
    },
    _ended: true,
    _ending: true,
    _redirectCount: 0,
    _redirects: [],
    _requestBodyLength: 0,
    _requestBodyBuffers: [],
    _onNativeResponse: [Function (anonymous)],
    _currentRequest: ClientRequest {
    _events: [Object: null prototype],
    _eventsCount: 7,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    destroyed: false,
    _last: true,
    chunkedEncoding: false,
    shouldKeepAlive: false,
    _defaultKeepAlive: true,
    useChunkedEncodingByDefault: false,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    _contentLength: 0,
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    socket: [TLSSocket],
    _header: 'GET /bykenko HTTP/1.1\r\n' +
    'Accept: application/json, text/plain, */*\r\n' +
    'User-Agent: axios/0.21.1\r\n' +
    'Host: zelenka.guru\r\n' +
    'Connection: close\r\n' +
    '\r\n',
    _keepAliveTimeout: 0,
    _onPendingData: [Function: noopPendingOutput],
    agent: [Agent],
    socketPath: undefined,
    method: 'GET',
    maxHeaderSize: undefined,
    insecureHTTPParser: undefined,
    path: '/bykenko',
    _ended: false,
    res: null,
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    reusedSocket: false,
    host: 'zelenka.guru',
    protocol: 'https:',
    _redirectable: [Circular *1],
    [Symbol(kCapture)]: false,
    [Symbol(kNeedDrain)]: false,
    [Symbol(corked)]: 0,
    [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    _currentUrl: 'https://zelenka.guru/bykenko',
    [Symbol(kCapture)]: false
    },
    response: undefined,
    isAxiosError: true,
    toJSON: [Function: toJSON]
    }
    Кратко. Ошибка заключается в Error: socket hang up. Мб кто-то сталкивался? В интернете проблемы возникают из-за других проблем. Мб юзерагента попробовать?
     
  2. Солома_inactive2799924
    Солома_inactive2799924 25 июн 2021 Заблокирован(а) 295 25 ноя 2019
    Я чёт не догоняю, но у тебя ж в коде осу
     
    1. Kenko Автор темы
  3. FasterWox
    FasterWox 27 июн 2021 Я мусульман 47 26 июн 2021
     
  4. Kenko
    Kenko Автор темы 8 июл 2021
    Проблема решена. Нужно передавать cookie в header {}
     
Загрузка...
Top