📜  使用Python获取 Instagram 个人资料详细信息

📅  最后修改于: 2022-05-13 01:55:17.923000             🧑  作者: Mango

使用Python获取 Instagram 个人资料详细信息

Instagram 是 Facebook 旗下的照片和视频共享社交网络服务。在本文中,我们将学习如何使用网络抓取获取 Instagram 个人资料详细信息。 Python为网页抓取提供了强大的工具,我们将在这里使用 BeautifulSoup。
所需模块和安装:
要求 :
Requests 允许您非常轻松地发送 HTTP/1.1 请求。无需手动将查询字符串添加到您的 URL。

pip install requests

美丽的汤:
Beautiful Soup 是一个库,可以很容易地从网页中抓取信息。它位于 HTML 或 XML 解析器之上,提供用于迭代、搜索和修改解析树的 Pythonic 习惯用法。

pip install beautifulsoup4


解释 -
对于给定的用户名,将进行数据抓取,然后进行数据解析,以便输出可读。输出将是描述,即关注者数、关注数、帖子数。
下面是实现——

Python3
# importing libraries
from bs4 import BeautifulSoup
import requests
 
# instagram URL
URL = "https://www.instagram.com/{}/"
 
# parse function
def parse_data(s):
     
    # creating a dictionary
    data = {}
     
    # splitting the content
    # then taking the first part
    s = s.split("-")[0]
     
    # again splitting the content
    s = s.split(" ")
     
    # assigning the values
    data['Followers'] = s[0]
    data['Following'] = s[2]
    data['Posts'] = s[4]
     
    # returning the dictionary
    return data
 
# scrape function
def scrape_data(username):
     
    # getting the request from url
    r = requests.get(URL.format(username))
     
    # converting the text
    s = BeautifulSoup(r.text, "html.parser")
     
    # finding meta info
    meta = s.find("meta", property ="og:description")
     
    # calling parse method
    return parse_data(meta.attrs['content'])
 
# main function
if __name__=="__main__":
     
    # user name
    username = "geeks_for_geeks"
     
    # calling scrape function
    data = scrape_data(username)
     
    # printing the info
    print(data)


输出 :
{'Followers': '120.2k', 'Following': '0', 'Posts': '702'}