[英]Python Instagram Web scraper troubles
我正在尝试构建一个网络爬虫,它告诉我在 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>
那是来自 Instagram 的 HTML
如果任何真正知道他们在做什么的人都可以指出我做错了什么以及如何解决它,那就太好了。
尝试这个,
import requests
url = 'https://www.instagram.com/explore/tags/savethekids/?__a=1'
response = requests.get(url)
count = response.json().get('graphql', {}).get('hashtag', {}).get('edge_hashtag_to_media', {}).get('count')
print(count)
输出:
22924
在这里看到它的行动
使用请求时的问题是尚未呈现 html。 尝试遵循有关抓取 Instagram 的教程。
这使用称为 selenium 的工具从 instagram 获取实际的 html。
当您使用 selnium webdriver 时,以下代码应该会获取您正在寻找的元素。
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'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.