修复类型错误:int() 参数必须是字符串、类似字节的对象或数字,而不是'Response'



尝试使用while循环从不同页面中废弃文本。但是TypeError:int((参数必须是字符串、类似字节的对象或数字,而不是"Response">

我正在使用漂亮的汤和全局变量来增加页码。

import re
from bs4 import BeautifulSoup , Comment
import requests
page = 1
total = 3
def get_chapter():
global page
c_page = int(page)
if c_page < 10:
chapter = f"0{page}"
else:
chapter = page
page += 1
return chapter

def filter_text(element):
if element.parent.name in ['style' , 'script' , 'head' , 'title' , 'meta' , '[document]']:
return False
if isinstance(element , Comment):
return False
elif re.match(r"[srn]+" , str(element)):
return False
return True

def run():
global page
c_page = int(page)
while c_page < total:
chapter = get_chapter()
# book url altered
url = f"https://wod.ng/wol/d/r1/lp-e/11020212{chapter}"
print(url)
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
# get text only
texts = soup.find_all(text=True)
visible_texts = filter(filter_text, texts)
print(u" ".join(t.strip() for t in visible_texts))
run()

不要对多个变量使用相同的变量名。

更改此

page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')

response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

或者其他什么,因为你已经在使用page来计算页面/章节

相关内容

  • 没有找到相关文章

最新更新