Traceback (most recent call last): File "C:\Users\test\PycharmProjects\pythonProject\1234.py", line 36, in <module> content = match[2].strip('</a>') ~~~~~^^^ IndexError: tuple index out of range
时间: 2024-04-17 20:23:12 浏览: 161
对不起,之前的代码有一个错误。我犯了一个小错误,导致了这个索引错误。在这种情况下,正确的索引应该是 `match[1]` 而不是 `match[2]`。
请使用以下更正后的代码:
```python
import re
from bs4 import BeautifulSoup
body_data = '''
[talkid:138031378]2014年4月20日 05:55:45 , <span class="hint-success" data-hint="">111222</span> 向 <span class="hint-success" data-hint="">323456</span> 发送 我们已经是好友了,开始聊天吧!
[talkid:138031379]2014年4月20日 06:55:45 , <span class="hint-success" data-hint="">111222</span> 向 <span class="hint-success" data-hint="">342112</span> 发送 我们已经是好友了,开始聊天吧!
[talkid:137031381]2014年4月20日 03:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 我们已经是好友了,开始聊天吧!
[talkid:137031382]2014年4月22日 04:45:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 音频 :[<a href="files/f/f123fsasfsfsjdfrhf_n.m4a"]>音频</a>
[talkid:137031383]2014年4月23日 04:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 图片 :[<a href="files/f/f123fsasfsfsjdfrhf_n.jpg"]>图片</a>
[talkid:137031384]2014年4月24日 05:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 我们已经是好友了,开始聊天吧!
[talkid:137031385]2014年4月25日 06:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 我们已经是好友了,开始聊天吧!
'''
soup = BeautifulSoup(body_data, 'html.parser')
pattern = re.compile(r'(发送|中发言)\s+(.*?)\s*(?:<a.*?>.*?</a>)?', re.S)
matches = re.findall(pattern, soup.text)
result = []
for match in matches:
content = match[1].strip('</a>') # 修改这里的索引为 [1]
result.append(content)
print(result)
```
这次应该能够正确提取出想要的文字内容了。非常抱歉给你带来困扰,希望这次能够解决问题!
阅读全文