使用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'}