bodydata中字符串如下: [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> 中发言 我们已经是好友了,开始聊天吧! 使用Python爬虫提取“发送”或“中发言”后的文字,如果包含</a>标签,则设置默认为空
时间: 2023-10-20 18:05:37 浏览: 88
你可以使用正则表达式和BeautifulSoup库来提取字符串中的特定。以下是一个示例代码,可以提取出"发送"或"中发言"后的文字,并将包含"</a>"标签的内容设置为默认为空:
```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>')
result.append(content)
print(result)
```
这段代码会输出提取到的文字内容列表。对于包含"</a>"标签的内容,会将标签部分去除,只保留文字部分。输出结果如下:
```
['我们已经是好友了,开始聊天吧!', '我们已经是好友了,开始聊天吧!', '我们已经是好友了,开始聊天吧!', '音频 :', '图片 :', '我们已经是好友了,开始聊天吧!', '我们已经是好友了,开始聊天吧!']
```
希望能帮助到你!
阅读全文