【发布时间】:2025-12-21 05:45:06
【问题描述】:
我不知道为什么这不起作用
from bs4 import *
import time
import pandas as pd
import pickle
import html5lib
from requests_html import HTMLSession
s = HTMLSession()
url = "https://cryptoli.st/lists/fixed-supply"
def get_data(url):
r = s.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
return soup
def get_next_page(soup):
page = soup.find('ul', {'class': 'pager'})
if not page.find('a', {'class': 'btn btn-default current disabled'}):
url = 'https://cryptoli.st/lists/fixed-supply' + \
str(page.find('li', {'class': 'paginate_button'}).find(
'a')[{'class': 'btn btn-default next'}])
return url
else:
return
get_data(url)
print(get_next_page(soup))
我见过其他脚本从一个函数返回变量以在另一个函数中使用,但这一直说“汤”没有定义。然后,如果我将汤设为全局变量,那么我会收到错误页面是 Nonetype 并且我不能调用它的 .find 属性。任何帮助将不胜感激。
【问题讨论】:
-
您忘记将
get_data的结果分配给data。 -
你还没有定义一个名为
data的变量。 -
这不应该说
soup没有定义,应该说data没有定义。 -
这能回答你的问题吗? python return - "name not defined"
-
关于为什么 page.find 返回此非类型错误的任何想法?或者如何解决这个问题?这是它给我的错误:if not page.find('a', {'class': 'btn btn-default current disabled'}): AttributeError: 'NoneType' object has no attribute 'find'
标签: python scope-chain