Initial commit
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
const axios = require('axios');
|
||||
const cheerio = require('cheerio');
|
||||
|
||||
const getLatestPost = async (username) => {
|
||||
try {
|
||||
// Fetch the Instagram page
|
||||
const response = await axios.get(`https://www.instagram.com/${username}/`);
|
||||
const html = response.data;
|
||||
|
||||
// Load the HTML into cheerio
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
|
||||
// Extract the script tag containing the JSON data
|
||||
const scriptTag = $('script[type="text/javascript"]').get().find(script => script.children[0].data.includes('window._sharedData'));
|
||||
console.log(scriptTag);
|
||||
const jsonData = scriptTag.children[0].data.split(' = ')[1].slice(0, -1);
|
||||
const data = JSON.parse(jsonData);
|
||||
|
||||
// Get the latest post
|
||||
const latestPost = data.entry_data.ProfilePage[0].graphql.user.edge_owner_to_timeline_media.edges[0].node;
|
||||
|
||||
// Extract relevant information
|
||||
const postDetails = {
|
||||
id: latestPost.id,
|
||||
shortcode: latestPost.shortcode,
|
||||
imageUrl: latestPost.display_url,
|
||||
caption: latestPost.edge_media_to_caption.edges[0]?.node.text || 'No caption',
|
||||
timestamp: latestPost.taken_at_timestamp,
|
||||
};
|
||||
|
||||
console.log(postDetails);
|
||||
} catch (error) {
|
||||
console.error('Error fetching the latest post:', error);
|
||||
}
|
||||
};
|
||||
|
||||
// Replace 'instagram' with the desired username
|
||||
getLatestPost('instagram');
|
||||
Reference in New Issue
Block a user