Size: a a a

Node.js — русскоговорящее сообщество

2020 May 15

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
это не решит проблемы
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
но хоть правильно селекторы будешь использовать
источник

R

Roman in Node.js — русскоговорящее сообщество
Dmitry Croft
это не решит проблемы
А что тогда решит?
источник

R

Roman in Node.js — русскоговорящее сообщество
Как тогда через селектор получить ссылку?
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
ты у li хочешь href взять?
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
его там не будет
источник

R

Roman in Node.js — русскоговорящее сообщество
В li и div - во всех елементах внутри класса posts-list
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
Roman
В li и div - во всех елементах внутри класса posts-list
ну так выбери a элементы и бери у них href. Ты сейчас у li берёшь, а у него его нет
источник

V

Victor in Node.js — русскоговорящее сообщество
Roman
Что не так? Есть страница с новостями, мне нужно из каждой статьи получить ее название и ссылку на самую статью. Все елементы находятся в классе posts-list.
юзал бы jsdom как все норм люди)
источник

R

Roman in Node.js — русскоговорящее сообщество
Victor
юзал бы jsdom как все норм люди)
Ок, как он мне поможет?
источник

V

Victor in Node.js — русскоговорящее сообщество
Roman
Ок, как он мне поможет?
const { JSDOM } = require("jsdom");

JSDOM.fromURL("https://ain.ua/tag/investicii/")
 .then(async ({ window }) =>
   [...window.document.querySelectorAll(".posts-list li")].map((li) => ({
     text: li.textContent.replace(/\s/g, ""),
     href: li.querySelector("a").href,
   }))
 )
 .then(console.log);
источник

V

Victor in Node.js — русскоговорящее сообщество
1 минута и готова, код читаемый и удобный, без легаси
источник

L

Looch in Node.js — русскоговорящее сообщество
Victor
const { JSDOM } = require("jsdom");

JSDOM.fromURL("https://ain.ua/tag/investicii/")
 .then(async ({ window }) =>
   [...window.document.querySelectorAll(".posts-list li")].map((li) => ({
     text: li.textContent.replace(/\s/g, ""),
     href: li.querySelector("a").href,
   }))
 )
 .then(console.log);
В then передавать async функцию 😂
источник

V

Victor in Node.js — русскоговорящее сообщество
только с регуляркой я облажался
источник

R

Roman in Node.js — русскоговорящее сообщество
Victor
const { JSDOM } = require("jsdom");

JSDOM.fromURL("https://ain.ua/tag/investicii/")
 .then(async ({ window }) =>
   [...window.document.querySelectorAll(".posts-list li")].map((li) => ({
     text: li.textContent.replace(/\s/g, ""),
     href: li.querySelector("a").href,
   }))
 )
 .then(console.log);
Такое не прокатит, оно ж не в браузере запускается
источник

L

Looch in Node.js — русскоговорящее сообщество
Roman
Такое не прокатит, оно ж не в браузере запускается
Так js dom это эмуляция dom api
источник

R

Roman in Node.js — русскоговорящее сообщество
Looch
Так js dom это эмуляция dom api
А все я понял
источник

V

Victor in Node.js — русскоговорящее сообщество
Looch
В then передавать async функцию 😂
да я спешил показать что на жсдом быстро все написать)
источник

R

Roman in Node.js — русскоговорящее сообщество
Victor
да я спешил показать что на жсдом быстро все написать)
Хорош 🖒
источник

L

Looch in Node.js — русскоговорящее сообщество
Victor
да я спешил показать что на жсдом быстро все написать)
Лучше вообще сразу async await юзать
источник