Traceback (most recent call last): File "F:\pythonProject\main.py", line 19, in <module> total_page = int(re.search(r'data-totalpage="(\d+)"', html).group(1)) AttributeError: 'NoneType' object has no attribute 'group'解决方法
时间: 2024-04-01 18:35:06 浏览: 63
浅谈Python traceback的优雅处理
这个错误通常表示正则表达式没有匹配到任何结果,因此无法使用 `group()` 方法。
你可以在使用 `group()` 方法之前添加一个判断,检查是否成功匹配到了结果。例如:
```python
import requests
import re
url = 'https://jn.lianjia.com/zufang/pg1/#contentList'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299'
}
# 获取总页数
response = requests.get(url, headers=headers)
html = response.text
match = re.search(r'data-totalpage="(\d+)"', html)
if match:
total_page = int(match.group(1))
print(total_page)
else:
print('未匹配到结果')
```
这个示例代码先通过 `re.search()` 方法获取匹配结果,然后判断是否成功匹配到了数据,最后再使用 `group()` 方法提取数据。如果未匹配到结果,则输出提示信息。
阅读全文