Python 3.x: 从页面导航部分找到最大的数字?

Python 3.x: finding the biggest number from page navigation section?

我正在创建一个程序来从页面导航器中获取最大的数字 bar.I 非常接近完成 program.But 因为我刚开始第一次编码 3 天,我我找不到这里的缺陷。

import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

#List for extended links to the base url
links = ['Link_1/','Link_2/','Link_3/']

#Function to find out the biggest number present in the page navigation 
section.Every element before 'Next→' is consist of the upper limit
def page_no():
 bs = soup(html, "html.parser")
 max_page = bs.find('a',{'class':'next page-numbers'}).findPrevious().text
 print(max_page)

#url loop
for url in links:
 my_urls ='http://www.example.com/category/{}/'.format(url)
 page_no()

# opening up connection,grabbing the page
uClient = uReq(my_urls)
page_html = uClient.read()
uClient.close()

错误: Traceback (most recent call last): line 20, in <module> page_no()

line 14, in page_no
bs = soup(html, "html.parser")
NameError: name 'html' is not defined`

我试图在不创建函数的情况下创建这个程序,但它只是返回列表中最后一个元素的值而不是所有数字。

困惑:

混淆了元素的顺序 def page_no()#Url Loop# opening up connection,grabbing the page (我可能错了)

提前致谢。

页面导航器示例:

1 2 3 … 15 Next →

您正在尝试在抓取页面之前对其进行解析。

移动这条线

page_no()

到最后,在您抓取页面之后。但即便如此,您将 "grabbed page" 命名为 page_html,但在 page_no() 中您正在寻找另一个名称 html。所以你也可以尝试改变它,替换

bs = soup(html, "html.parser")

bs = soup(page_html, "html.parser")

P.S,您还有其他问题,例如代码中的缩进问题,您也必须解决这些问题才能正常工作