javascript - 使用 BeautifulSoup 从 Javascript 中提取文本以获得关注者数量

标签 javascript python beautifulsoup

我正在尝试自动化获取几个帐户的 Instagram 关注者数量的过程。

例如,https://www.instagram.com/taylorswift/等等

我尝试过使用像 BeautifulSoup 这样的库。然而,面临的一个问题是关注人数是javascript类型下的,并且有许多其他文本。

我的代码是:

>>> from bs4 import BeautifulSoup
>>> import requests
>>> url = "https://www.instagram.com/taylorswift/"
>>> page = requests.get(url)
>>> soup = BeautifulSoup(page.content)
>>> script = soup.select("script") 

请问如何获取粉丝数作为唯一输出? (即 76.8m)我是 python 和脚本的新手:/谢谢。

最佳答案

这段代码对我来说很好用:

#!/usr/bin/env python

import requests
from json import loads

username = "liamgiannini"

r = requests.get('https://www.instagram.com/'+username)
html = r.text.encode("utf-8")
text = html[html.index("window._sharedData = ")+21:]
text = (text[:text.index("};</script>")]+"}").replace('\\"', "")
dictionary= loads(text)
data = dictionary["entry_data"]["ProfilePage"][0]["user"]

print "followers: "+str(data["followed_by"]["count"])

通过打印print data.keys(),你可以获得更多关于用户的信息

关于javascript - 使用 BeautifulSoup 从 Javascript 中提取文本以获得关注者数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37190605/

相关文章:

javascript - JS 计算项目时的 Owl Carousel 问题

python - 使用 BeautifulSoup 一次循环解析段落和后续元素

javascript - HTML5 Canvas 坐标给出了奇怪的 Angular

javascript - 如何让 Flot 在 x 轴上绘制多个点?

javascript - 光滑的 slider 更改 bg 图像

python - 为什么在 PySpark 中有两种读取 CSV 文件的选项?我应该使用哪一个?

python - 在 VS CODE 中设置 cwd

python - 在同一列标题下拉出下一个值

python - 漂亮的汤检查标签中的标签

web-scraping - 使用 BeautifulSoup 匹配 html <div> 标签中的确切类