Первым шагом является установка необходимых зависимостей для этого проекта. Мы будем использовать две библиотеки, 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 для ежедневных блогов на темы разработки программного обеспечения и технологий!