网页内源代码模板如下: <html> <meta http-equiv="Content=-Type" content="text/html; charset=utf-8"> <head> <link href="http://192.167.1.101/hint.css" rel="stylesheet"></link> </head> <body> [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:138031387]2014年4月20日 04:45:45 , <span class="hint-success" data-hint="">2323234</span> 向 <span class="hint-success" data-hint="">543521</span> 发送 音频 :[<a href="files/f/f123fsasfsfsjdfrhf_n.m4a"]>音频</a> </body> </html> 利用python爬虫,提取消息发送内容、文件名称,发送内容提取‘</span> 发送’后或中发言后的内容,如果有[<a href则设置为默认空值,文件名称则提取如果有[<a href则提取文件所在位置,反之则填写默认空值
时间: 2023-08-14 21:00:49 浏览: 110
基于PR-SEM的煤矿安全管理风险因素综合评价
可以使用Python的BeautifulSoup库来解析HTML并提取所需的信息。首先,你需要安装BeautifulSoup库,可以使用pip命令进行安装:
```
pip install beautifulsoup4
```
接下来,你可以使用下面的代码来提取消息发送内容和文件名称:
```python
from bs4 import BeautifulSoup
html = '''
<html>
<meta http-equiv="Content=-Type" content="text/html; charset=utf-8">
<head>
<link href="http://192.167.1.101/hint.css" rel="stylesheet"></link>
</head>
<body>
[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:138031387]2014年4月20日 04:45:45 , <span class="hint-success" data-hint="">2323234</span> 向 <span class="hint-success" data-hint="">543521</span> 发送 音频 :[<a href="files/f/f123fsasfsfsjdfrhf_n.m4a"]>音频</a>
</body>
</html>
'''
soup = BeautifulSoup(html, 'html.parser')
messages = soup.find_all('span', class_='hint-success')
files = soup.find_all('a', href=True)
for message in messages:
content = message.next_sibling.strip()
print(content)
for file in files:
file_name = file['href']
print(file_name)
```
这段代码会打印出消息发送内容和文件名称。如果消息发送内容中有`[<a href`则表示要设置默认空值,文件名称中有`[<a href`则表示要提取文件所在位置,否则填写默认空值。
注意:请确保你的HTML代码是正确的,因为你提供的示例代码中有一些语法错误(例如,`<link>`标签未正确闭合)。
希望这可以帮助到你!如果有任何疑问,请随时问我。
阅读全文