import urllib.requestimport urllib.parseclass BaiduSpider: def __init__(self): self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36' } def readPage(self,url): # 发请求获取响应 rep = urllib.request.Request(url, headers=self.headers) response = urllib.request.urlopen(rep) html = response.read().decode('utf-8') return html def writePage(self,filename,html): with open(filename, 'w', encoding='utf-8') as f: f.write(html) def main(self): name = input('请输入贴吧名称:') # 1-5 , 2-3 begin = int(input('请输入开始页:')) end = int(input('请输入结束页:')) name1 = urllib.parse.quote(name) for page in range(begin, end + 1): # range:左闭右开 pn = (page - 1) * 50 url = f'https://tieba.baidu.com/f?kw={name1}&pn={pn}' html = self.readPage(url) # 目的:获取页面内容 filename = f'第{page}页.html' self.writePage(filename, html)d = BaiduSpider()d.main()