Python 上 BeautifulSoup 的问题 - 属性错误
Issues with BeautifulSoup on Python - Attribute Error
我只是想做一个电报机器人,它会向我发送有关 NFT 项目底价的更新。我尝试使用 BeautifulSoup 使用以下代码抓取底价:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
import urllib.request
url = "https://magiceden.io/marketplace/bulldog_billionaires"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
result = soup.find("div", {"p-3 bg-color-third d-flex flex-column border-radius-8px h-100 position-relative attributes-main"})
print(result.title)
但它总是给我以下错误:“AttributeError: 'NoneType' object has no attribute 'title'”
任何人都可以帮我解决这个问题吗?我必须关注这个 NFT 项目,所以我需要这个机器人!
谢谢大家!
此网页是动态加载的,因此您的获取请求不会 return 页面上的许多数据。因此,当您尝试使用 beautifulsoup 查找指定数据时,它不会找到它,这就是它引发属性错误的原因。
要解决这个问题,您可以使用像 selenium 这样的网络驱动程序:
from selenium import webdriver
from bs4 import BeautifulSoup
url = "https://magiceden.io/marketplace/bulldog_billionaires"
driver = webdriver.Firefox()
driver.get(url)
page = driver.page_source
soup = BeautifulSoup(page, "html.parser")
result = soup.find("div", {"p-3 bg-color-third d-flex flex-column border-radius-8px h-100 position-relative attributes-main"})
我只是想做一个电报机器人,它会向我发送有关 NFT 项目底价的更新。我尝试使用 BeautifulSoup 使用以下代码抓取底价:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
import urllib.request
url = "https://magiceden.io/marketplace/bulldog_billionaires"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
result = soup.find("div", {"p-3 bg-color-third d-flex flex-column border-radius-8px h-100 position-relative attributes-main"})
print(result.title)
但它总是给我以下错误:“AttributeError: 'NoneType' object has no attribute 'title'”
任何人都可以帮我解决这个问题吗?我必须关注这个 NFT 项目,所以我需要这个机器人!
谢谢大家!
此网页是动态加载的,因此您的获取请求不会 return 页面上的许多数据。因此,当您尝试使用 beautifulsoup 查找指定数据时,它不会找到它,这就是它引发属性错误的原因。
要解决这个问题,您可以使用像 selenium 这样的网络驱动程序:
from selenium import webdriver
from bs4 import BeautifulSoup
url = "https://magiceden.io/marketplace/bulldog_billionaires"
driver = webdriver.Firefox()
driver.get(url)
page = driver.page_source
soup = BeautifulSoup(page, "html.parser")
result = soup.find("div", {"p-3 bg-color-third d-flex flex-column border-radius-8px h-100 position-relative attributes-main"})