Загрузка...

I am writing a bot in Node js. A couple of questions for the experts

Thread in Node.js created by Kenko Jun 25, 2021. 421 view

  1. Kenko
    Kenko Topic starter Jun 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
    Code
    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
    Я чёт не догоняю, но у тебя ж в коде осу
     
    1. Kenko Topic starter
  3. FasterWox
    FasterWox Jun 27, 2021 Я мусульман 47 Jun 26, 2021
     
  4. Kenko
    Kenko Topic starter Jul 8, 2021
    Проблема решена. Нужно передавать cookie в header {}
     
Loading...
Top