gpt4 book ai didi

python - 当我运行我的代码时,它返回 '[]' 。我怎样才能解决这个问题?

转载 作者:行者123 更新时间:2023-11-30 22:01:16 26 4
gpt4 key购买 nike

我在 stackoverflow 中的第一个问题。我是 python 初学者,我想请求任何 Instagram 照片喜欢,但我的代码返回空

import requests
from bs4 import BeautifulSoup

url = "https://www.instagram.com/p/BsYt_megGfN/"
r = requests.get(url)
soup = BeautifulSoup(r.content,"html.parser")
data = soup.findAll("div",{"class","Nm9Fw"})
print(data)

我想查看喜欢这张照片的人的名字,但我不喜欢。

最佳答案

首先,对于抓取,您应该使用像 Anaconda 这样的预编译库。在这里下载:https://www.anaconda.com/download/并记住 python 可执行文件的路径在哪里。

您会返回一个空列表,因为 Instagram 使用 JavaScript。 Requests 无法为您将 javascript 渲染为 html,因此您需要使用更强大的方法,例如 selenium。

尝试这样的事情:

安装 Selenium

在您的终端中:

conda install selenium

下载 Chromedriver

http://chromedriver.chromium.org/downloads

将 Selenium 导入您的代码

import os  
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup

chrome_options = Options()
chrome_options.add_argument("--headless")

driver = webdriver.Chrome(executable_path="path-to-chromedriver",chrome_options=chrome_options)
driver.get("https://www.instagram.com/p/BsYt_megGfN/")

html_source = driver.page_source
driver.quit()

soup = BeautifulSoup(html_source,"html.parser")
data = soup.findAll("div",{"class","Nm9Fw"})
print(comments) # syntax for printing changes here for Python3

使用您的 Anaconda 版本的 python 运行此命令。

关于python - 当我运行我的代码时,它返回 '[]' 。我怎样才能解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54099458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com