Python Instagram Web刮刀故障

Python Instagram Web刮刀故障,python,web-scraping,Python,Web Scraping,我正在尝试构建一个web scraper,告诉我一个标签在Instagram上使用的次数,但我在不同的迭代中不断得到错误代码,或者当前响应为“无”。 这是我的代码和html Python import requests from bs4 import BeautifulSoup url = 'https://www.instagram.com/explore/tags/savethekids/' page = requests.get(url) soup = BeautifulSoup(page

我正在尝试构建一个web scraper,告诉我一个标签在Instagram上使用的次数,但我在不同的迭代中不断得到错误代码,或者当前响应为“无”。 这是我的代码和html

Python

import requests
from bs4 import BeautifulSoup
url = 'https://www.instagram.com/explore/tags/savethekids/'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
tag = soup.find("span", {"class": "g47SY "})
print(tag)
这就是我写的代码

HTML

<span class="-nal3 ">
  <span class="g47SY ">22,922</span> 
   " posts"
</span>

22,922 
“职位”
这是Instagram中的HTML


如果任何真正知道自己在做什么的人都能指出我做错了什么以及如何修复它,那就太好了。

使用请求时的问题是html还没有呈现出来。尝试在instagram上进行以下操作

它使用一个名为selenium的工具从instagram获取实际的html

当selniumwebdriver工作时,下面的代码应该得到您正在寻找的元素

from selenium.webdriver import Chrome
browser = Chrome()
url = 'https://www.instagram.com/explore/tags/savethekids/'
browser.get(url)
print(browser.find_element_by_class_name('g47SY'))
试试这个

导入请求
url='1〕https://www.instagram.com/explore/tags/savethekids/?__a=1'
response=requests.get(url)
count=response.json().get('graphql',{}).get('hashtag',{}).get('edge\u hashtag\u to\u media',{}).get('count')
打印(计数)
输出:


查看它的实际操作

是否需要刮网?因为如果不是,您可以使用获取媒体的
标题
,然后解析hashtags。它不在实际的页面源中。
22924