图龙网络科技

问答社区

原创作者: 图龙网络科技 发布时间: 2023-09-23 229.8K 人阅读

在Python中,存储和清洗爬取的数据通常涉及以下几个步骤:

图龙网络科技 发布于 4个月前 分类:语言编程

在Python中,存储和清洗爬取的数据通常涉及以下几个步骤:

1. **数据提取**:首先,你需要从网页中提取所需的数据。这通常涉及到解析HTML或XML文档,可以使用像BeautifulSoup、lxml或re(正则表达式)这样的库来完成。

2. **数据清洗**:提取到的数据可能包含不必要的字符、标签、空格或其他不规则的内容,需要进行清洗。常见的清洗操作包括去除空白、转换数据类型、处理缺失值、去重等。

3. **数据存储**:清洗后的数据可以存储在各种形式的目标中,比如CSV文件、JSON文件、数据库(如SQLite, MySQL, PostgreSQL等)或者DataFrame对象中。

以下是一些示例代码,展示如何在Python中存储和清洗爬取的数据:

### 使用CSV文件存储数据

```python
import csv
from bs4 import BeautifulSoup
import requests

# 假设我们已经获取了网页内容并解析出了数据
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 提取数据
data = []
for item in soup.find_all('div', class_='item'):
name = item.find('h2').text.strip()
price = item.find('span', class_='price').text.strip()
data.append([name, price])

# 将数据保存到CSV文件
with open('output.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Price'])
for row in data:
writer.writerow(row)
```

### 使用Pandas进行数据清洗和存储

```python
import pandas as pd
from bs4 import BeautifulSoup
import requests

# 假设我们已经获取了网页内容并解析出了数据
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 提取数据
data = []
for item in soup.find_all('div', class_='item'):
name = item.find('h2').text.strip()
price = item.find('span', class_='price').text.strip()
data.append({'Name': name, 'Price': price})

# 创建DataFrame
df = pd.DataFrame(data)

# 数据清洗示例
# 1. 删除空行
df.dropna(subset=['Name', 'Price'], inplace=True)

# 2. 转换价格为数值类型
df['Price'] = df['Price'].replace('[\$,]', '', regex=True).astype(float)

# 3. 去重
df.drop_duplicates(inplace=True)

# 将数据保存到CSV文件
df.to_csv('output_cleaned.csv', index=False)
```

在这个例子中,我们首先使用requests和BeautifulSoup库来抓取和解析网页数据。然后,我们将提取的数据存储在一个列表中,并将其转换成pandas的DataFrame对象。接着,我们进行了几项数据清洗操作,例如删除空行、将价格字符串转换为数值类型以及去除重复记录。最后,我们使用`to_csv`方法将清洗后的数据保存到CSV文件中。

根据你的具体需求,你还可以进行更多的数据清洗和处理操作。例如,如果你需要处理日期时间、合并多个数据源、进行复杂的计算等,pandas提供了丰富的功能来支持这些操作。

0个回复

  • 龙族们都在等待回复

提供中小企业建站高端正版精品系统

正品模板 购买协议