如何使用Python中的BeatifulSoup获取pagecount编号

2024-07-07 05:51:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的代码

while True:
baslik = input('Başlık:')
if baslik == 'q':
    break
r = requests.get(site + baslik , headers=headers)    
if r.status_code != 200:
    print('I dont find!')
else:
    soup = bs(r.content, 'html.parser')
    s = soup.find(id="topic").find_all("div")        
    sz = soup.find_all("div", {"class": "pager"})        
    print(sz)
    print(type(sz))

这就是它的结果

div class="pager" data-currentpage="1" data-pagecount="39"></div, div class="pager" data-currentpage="1" data-pagecount="39">/div

如何获取页面计数编号39,因为我正在使用for循环来刮取web端的所有数据

多谢各位


Tags: 代码divdataifallfindclassheaders
2条回答

如果sz = soup.find_all("div", {"class": "pager"})得到的结果是<div class="pager" data-currentpage="1" data-pagecount="39"></div><div class="pager" data-currentpage="1" data-pagecount="39"></div>,我建议首先用find()替换find_all()

请尝试以下代码,并让我知道结果,如果你想

paper = soup.find('div', {'class', 'pager'})
pagecount = paper.get('data-pagecount')
print(pagecount)

要查找页码,必须使用Selenium模块。下面是一个带有示例代码的链接,可帮助您:

Finding number of pages using Python BeautifulSoup

希望这有帮助

相关问题 更多 >