|
发表于 2023-7-31 13:53:43
|
显示全部楼层
要剔除除了文字以外的其他信息,你可以使用正则表达式的预处理功能。在匹配标题时,可以使用re.sub()函数将标签和其他非文字内容替换为空字符串。
下面是修改后的代码示例:
- import requests
- import re
- headers = {
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188"
- }
- response = requests.get("https://movie.douban.com/top250", headers=headers)
- titles = re.findall(r'<span class="title">(.*?)</span>', response.text, re.S)
- for title in titles:
- cleaned_title = re.sub(r'<.*?>', '', title) # 剔除标签和其他非文字内容
- print(cleaned_title.strip()) # 清除多余的空格并输出
复制代码
这样修改后,你应该能够提取到豆瓣前25个标题的纯文本信息。注意,我们使用re.sub()函数将标签和其他非文字内容替换为空字符串,然后使用strip()函数去除标题两侧可能存在的多余空格。
请重新运行代码,并检查输出是否符合预期。如有其他问题,请随时提问。 |
|