Первым шагом является установка необходимых зависимостей для этого проекта. Мы будем использовать две библиотеки, axios
и cheerio
, чтобы сделать наш HTTP-запрос и проанализировать HTML из ответа. Чтобы установить эти библиотеки, выполните в терминале следующие команды:
npm install axios cheerio
2. Сделайте запрос HTTP GET
Далее нам нужно сделать запрос HTTP GET к URL-адресу нашей страницы Medium. Для этого мы можем использовать библиотеку axios
:
const axios = require('axios'); const response = await axios.get(`https://medium.com/feed/@jacobnarayan`);
3. Разберите HTML-ответ
Теперь, когда у нас есть ответ на наш HTTP-запрос, нам нужно проанализировать XML, чтобы мы могли извлечь из него необходимые данные. Для этого мы будем использовать библиотеку cheerio
:
const cheerio = require('cheerio'); const $ = cheerio.load(response.data, { xmlMode: true });
4. Получите список статей
Теперь мы можем получить список статей из нашего ответа, используя тег item
:
const items = $('item')
Это даст нам список из 10 наших последних статей на Medium.
5. Извлеките данные из каждой статьи
Теперь, когда у нас есть все наши статьи, нам нужно извлечь данные из каждой статьи. Мы можем сделать это, перебирая наш список элементов и извлекая теги title
и content:encoded
для каждого элемента:
var blogs = [] // array to store blog info items.each((index, item) => { // loop through items // Extract the <title> and <content> tags for the current <item> tag const title = $(item).find('title').text(); // extract title const content = $(item).find('content\\:encoded').text(); // extract content // create cheerio instance to parse content var doc = cheerio.load(content); // add title and content to our blog array blogs.push({title: title, content: doc.html()}) // Do something with the extracted data, such as log it to the console }); return blogs; // return array of blog info
Вот и все! Теперь у вас есть массив, содержащий информацию о ваших 10 последних статьях на Medium, написанных на JavaScript! Чтобы запустить программу, сохраните этот код в файле .js и в терминале запустите node <your-file-name>.js
Также возвращается дополнительная информация, такая как теги и изображение сообщения, я рекомендую вам поиграть с этой программой, чтобы получить необходимые данные.
Спасибо за чтение. Если вам понравился этот блог, рассмотрите возможность подписаться на мою учетную запись Medium для ежедневных блогов на темы разработки программного обеспечения и технологий!