{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Get likes from Instagram-Posts"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import requests\n",
"from bs4 import BeautifulSoup\n",
"import pickle\n",
"import pandas as pd\n",
"from IPython.display import IFrame, HTML\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from pathlib import Path\n",
"from datetime import datetime"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Run Insta-Overview Notebook first !!!\n",
"insta_post_embed_links = pickle.load(open(\"Insta-Overview/instagram-post-embed-links-list.pickle\",\"rb\"))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-06-02T11:58:12.446590\n"
]
}
],
"source": [
"# Last run of Notebook\n",
"print(datetime.now().isoformat())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load Instagram Posts"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loading Posts from Cache\n"
]
}
],
"source": [
"insta_posts_html_path = Path(\"get-likes-for-instagram-posts/insta_posts_html_list.pickle\")\n",
"if insta_posts_html_path.exists():\n",
" print(\"Loading Posts from Cache\")\n",
" insta_posts_html = pickle.load(open(insta_posts_html_path,\"rb\"))\n",
"else:\n",
" insta_posts_html = []\n",
" print(\"Downloading Posts:\")\n",
" for i,l in enumerate(insta_post_embed_links,start=1):\n",
" print(f\"{i},\", end='')\n",
" r = requests.get(l)\n",
" if r.status_code == 200:\n",
" insta_posts_html.append(r.text)\n",
" else:\n",
" raise(Exception(\"HTTP no success, Statuscode ({r.status_code})\"))\n",
"\n",
" print(\"\\nDownloaded all Posts.\")\n",
"\n",
" pickle.dump(insta_posts_html,open(insta_posts_html_path,\"wb\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Extract Likes and create DataFrame"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" likes | \n",
" links | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 22 | \n",
" https://www.instagram.com/p/B_X0N2ZANYw/embed/ | \n",
"
\n",
" \n",
" 1 | \n",
" 15 | \n",
" https://www.instagram.com/p/B_X2GNege1r/embed/ | \n",
"
\n",
" \n",
" 2 | \n",
" 15 | \n",
" https://www.instagram.com/p/B_X3O7KlHnk/embed/ | \n",
"
\n",
" \n",
" 3 | \n",
" 11 | \n",
" https://www.instagram.com/p/B_aQan1FQku/embed/ | \n",
"
\n",
" \n",
" 4 | \n",
" 8 | \n",
" https://www.instagram.com/p/B_aNHkwlTTe/embed/ | \n",
"
\n",
" \n",
" 5 | \n",
" 10 | \n",
" https://www.instagram.com/p/B_aJo5OFQpw/embed/ | \n",
"
\n",
" \n",
" 6 | \n",
" 8 | \n",
" https://www.instagram.com/p/B_XlLUMpJzV/embed/ | \n",
"
\n",
" \n",
" 7 | \n",
" 9 | \n",
" https://www.instagram.com/p/B_XlN12plBk/embed/ | \n",
"
\n",
" \n",
" 8 | \n",
" 34 | \n",
" https://www.instagram.com/p/B_W-oPwIu8w/embed/ | \n",
"
\n",
" \n",
" 9 | \n",
" 33 | \n",
" https://www.instagram.com/p/B_W-nLrITcK/embed/ | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" likes links\n",
"0 22 https://www.instagram.com/p/B_X0N2ZANYw/embed/\n",
"1 15 https://www.instagram.com/p/B_X2GNege1r/embed/\n",
"2 15 https://www.instagram.com/p/B_X3O7KlHnk/embed/\n",
"3 11 https://www.instagram.com/p/B_aQan1FQku/embed/\n",
"4 8 https://www.instagram.com/p/B_aNHkwlTTe/embed/\n",
"5 10 https://www.instagram.com/p/B_aJo5OFQpw/embed/\n",
"6 8 https://www.instagram.com/p/B_XlLUMpJzV/embed/\n",
"7 9 https://www.instagram.com/p/B_XlN12plBk/embed/\n",
"8 34 https://www.instagram.com/p/B_W-oPwIu8w/embed/\n",
"9 33 https://www.instagram.com/p/B_W-nLrITcK/embed/"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"likes = []\n",
"\n",
"for insta_post in insta_posts_html:\n",
" soup = BeautifulSoup(insta_post, 'html.parser')\n",
" like_string = soup.select(\"div.SocialProof\")[0]\n",
" likes.append(int(\"\".join(like_string.get_text().split(\" \")[10].split(\",\")))) # Parsing for one-time-usage\n",
" \n",
"df = pd.DataFrame(zip(likes,insta_post_embed_links),columns=['likes','links'])\n",
"df.head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Top-n Posts by likes"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" likes | \n",
" links | \n",
"
\n",
" \n",
" \n",
" \n",
" 46 | \n",
" 37 | \n",
" https://www.instagram.com/p/B_znqf9J2kV/embed/ | \n",
"
\n",
" \n",
" 47 | \n",
" 36 | \n",
" https://www.instagram.com/p/B_zoVx4JGxA/embed/ | \n",
"
\n",
" \n",
" 48 | \n",
" 36 | \n",
" https://www.instagram.com/p/B_zwQVLplbH/embed/ | \n",
"
\n",
" \n",
" 8 | \n",
" 34 | \n",
" https://www.instagram.com/p/B_W-oPwIu8w/embed/ | \n",
"
\n",
" \n",
" 9 | \n",
" 33 | \n",
" https://www.instagram.com/p/B_W-nLrITcK/embed/ | \n",
"
\n",
" \n",
" 10 | \n",
" 33 | \n",
" https://www.instagram.com/p/B_W-l1oIpFA/embed/ | \n",
"
\n",
" \n",
" 111 | \n",
" 33 | \n",
" https://www.instagram.com/p/CAdroyeqY__/embed/ | \n",
"
\n",
" \n",
" 0 | \n",
" 22 | \n",
" https://www.instagram.com/p/B_X0N2ZANYw/embed/ | \n",
"
\n",
" \n",
" 109 | \n",
" 21 | \n",
" https://www.instagram.com/p/CAdoHDHK2Ak/embed/ | \n",
"
\n",
" \n",
" 18 | \n",
" 20 | \n",
" https://www.instagram.com/p/B_e75mmhffZ/embed/ | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" likes links\n",
"46 37 https://www.instagram.com/p/B_znqf9J2kV/embed/\n",
"47 36 https://www.instagram.com/p/B_zoVx4JGxA/embed/\n",
"48 36 https://www.instagram.com/p/B_zwQVLplbH/embed/\n",
"8 34 https://www.instagram.com/p/B_W-oPwIu8w/embed/\n",
"9 33 https://www.instagram.com/p/B_W-nLrITcK/embed/\n",
"10 33 https://www.instagram.com/p/B_W-l1oIpFA/embed/\n",
"111 33 https://www.instagram.com/p/CAdroyeqY__/embed/\n",
"0 22 https://www.instagram.com/p/B_X0N2ZANYw/embed/\n",
"109 21 https://www.instagram.com/p/CAdoHDHK2Ak/embed/\n",
"18 20 https://www.instagram.com/p/B_e75mmhffZ/embed/"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.sort_values(by='likes',ascending=False)\n",
"df.head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Overview of Like data"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" likes | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 122.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 11.672131 | \n",
"
\n",
" \n",
" std | \n",
" 6.751116 | \n",
"
\n",
" \n",
" min | \n",
" 2.000000 | \n",
"
\n",
" \n",
" 25% | \n",
" 8.000000 | \n",
"
\n",
" \n",
" 50% | \n",
" 10.000000 | \n",
"
\n",
" \n",
" 75% | \n",
" 13.000000 | \n",
"
\n",
" \n",
" max | \n",
" 37.000000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" likes\n",
"count 122.000000\n",
"mean 11.672131\n",
"std 6.751116\n",
"min 2.000000\n",
"25% 8.000000\n",
"50% 10.000000\n",
"75% 13.000000\n",
"max 37.000000"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Post with Lowest and Highest Number of Likes"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" Lowest number of likes
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
" Highest number of likes
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(HTML(\" Lowest number of likes
\"))\n",
"display(IFrame(list(df.sort_values(by='likes', ascending=True)['links'])[0], 400, 800))\n",
"\n",
"display(HTML(\" Highest number of likes
\"))\n",
"display(IFrame(list(df.sort_values(by='likes', ascending=False)['links'])[0], 400, 800))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot likes over Posts (over Time) with Linear Regression"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(y=df['likes'],x=df.index)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Top-n Instagram Posts"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_znqf9J2kV"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_zoVx4JGxA"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_zwQVLplbH"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_W-oPwIu8w"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_W-nLrITcK"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_W-l1oIpFA"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/CAdroyeqY__"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_X0N2ZANYw"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/CAdoHDHK2Ak"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"https://www.instagram.com/p/B_e75mmhffZ"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for l in list(df['links'])[:10]:\n",
" l_href = l.rsplit(\"/\",2)[0]\n",
" display(HTML(f\"{l_href}\"))\n",
" display(IFrame(l,400,800))\n",
" "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}