<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:138031361]204年4月20日 03:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">232323</span> 发送 我们已经是好友了,开始聊天吧! <p> ()</p> [talkid:138031362]204年4月20日 04:45:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">123456</span> 发送 音频 :[<ahref="files/f/f123fsasfsfsjdfrhf_n.m4a"]>音频</a> <p> ()</p> [talkid:138031363]204年4月20日 04:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">123456</span> 发送 音频 :[<ahref="files/f/f123fsasfsfsjdfrhf_n.jpg"]>图片</a> <p> ()</p> [talkid:138031364]204年4月20日 05:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">3234221</span> 发送 我们已经是好友了,开始聊天吧! <p> ()</p> [talkid:138031365]204年4月20日 06:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">1359075</span> 发送 我们已经是好友了,开始聊天吧! <p> ()</p> </body> </html>提取网页内ID、时间、发送号码、接收号码、信息内容,如果是音频则提取文件地址
时间: 2023-08-14 08:59:02 浏览: 88
你可以使用Python中的BeautifulSoup库来解析HTML,并提取所需的数据。以下是一个示例代码,演示如何从给定的HTML中提取ID、时间、发送号码、接收号码和信息内容:
```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:138031361]204年4月20日 03:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">232323</span> 发送 我们已经是好友了,开始聊天吧!
<p>
()</p>
[talkid:138031362]204年4月20日 04:45:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">123456</span> 发送 音频 :[<ahref="files/f/f123fsasfsfsjdfrhf_n.m4a"]>音频</a>
<p>
()</p>
[talkid:138031363]204年4月20日 04:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">123456</span> 发送 音频 :[<ahref="files/f/f123fsasfsfsjdfrhf_n.jpg"]>图片</a>
<p>
()</p>
[talkid:138031364]204年4月20日 05:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">3234221</span> 发送 我们已经是好友了,开始聊天吧!
<p>
()</p>
[talkid:138031365]204年4月20日 06:55:45 , <span class="hint-success" data-hint"">434343</span> 向 <span class="hint-success" data-hint="">1359075</span> 发送 我们已经是好友了,开始聊天吧!
<p>
()</p>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
# 提取所有的<p>标签
p_tags = soup.find_all('p')
for p_tag in p_tags:
# 提取ID
talk_id = p_tag.find_previous(string=lambda text: isinstance(text, str) and '[talkid:' in text)
talk_id = talk_id.strip('[talkid:]')
# 提取时间
timestamp = p_tag.find_previous('body').find_previous('head').find('meta', {'http-equiv': 'Content=-Type'})['content']
# 提取发送号码
send_number = p_tag.find('span', {'class': 'hint-success'}).text
# 提取接收号码
receive_number = p_tag.find_all('span', {'class': 'hint-success'})[1].text
# 提取信息内容
message = p_tag.previous_sibling.strip()
# 判断是否是音频
if '音频' in message:
file_url = p_tag.find('a')['href']
print(f"ID: {talk_id}, 时间: {timestamp}, 发送号码: {send_number}, 接收号码: {receive_number}, 音频文件地址: {file_url}")
else:
print(f"ID: {talk_id}, 时间: {timestamp}, 发送号码: {send_number}, 接收号码: {receive_number}, 信息内容: {message}")
```
运行代码后,你将看到提取到的数据,包括ID、时间、发送号码、接收号码和信息内容。如果信息内容是音频,则还会提取音频文件的地址。
请注意,这只是一个简单的示例代码,你可能需要根据实际情况进行相应的修改和调整。同时,对于更复杂的HTML结构,你可能需要使用更多的定位方法来提取所需的数据。
阅读全文