gpt4 book ai didi

python - 使用python进行网页抓取时如何计算缩写列表的长度

转载 作者:行者123 更新时间:2023-12-04 10:15:18 27 4
gpt4 key购买 nike

我正在使用python3练习网页抓取并遇到了我以前从未遇到过的情况。
我想要做的是我想抓取一个帖子和对该帖子的相应回复。
例如,对于每个帖子,可以有多个回复,如果有很多回复,则可以有多个回复页面。
Here ,对于原帖,目前有8页回复。

我正在寻找一个表示列表中页数的类,以便我可以遍历它。下面是我的简化代码,但发现某些元素在列表中被缩写。我以为会是 ['1','2','3','4','5','6','7','8']但它的结构是['1','2','3','...','8']所以 Python 将长度识别为只有 5,而不是 8。
谁能帮助我如何处理这个问题?

import requests
from bs4 import BeautifulSoup
import time

html = requests.get("https://community.withairbnb.com/t5/Hosting/Are-you-planning-to-spruce-up-your-space-in-2020/td-p/1165554",timeout=5)
soup = BeautifulSoup(html.content, 'html.parser')
time.sleep(1)

pages=soup.find('ul', class_="lia-paging-full-pages")
pages=pages.text.strip()
split_page=pages.split()
print (split_page)

for page_num in range(2,len(split_page)+1,1):
#some lines of my codes
print (page_num)

output:
['1', '2', '3', '…', '8']
2
3
4
5

最佳答案

假设最后一个数字代表总页数,你可以简单地做

int(['1', '2', '3', '...', '8'][-1])

然后你有列表的长度。对于您的情况:
for page_num in range(2, int(split_page[-1]) + 1, 1): 
print(page_num)
2
3
4
5
6
7
8

关于python - 使用python进行网页抓取时如何计算缩写列表的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61089751/

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