在网上爬取共享单车的使用数据以及当天的天气情况,存入数据库中使用python语言
时间: 2024-03-15 22:41:42 浏览: 124
好的,您可以使用Python中的requests库和BeautifulSoup库来爬取网页数据,使用Python中的pymysql库来连接MySQL数据库,具体步骤如下:
1. 导入需要的库:
```
import requests
from bs4 import BeautifulSoup
import pymysql
```
2. 发送GET请求获取网页数据:
```
url = 'https://www.mobike.com/cn/'
response = requests.get(url)
```
3. 解析网页数据:
```
soup = BeautifulSoup(response.text, 'html.parser')
```
4. 找到包含共享单车使用数据的HTML元素:
```
data_container = soup.find('div', {'class': 'data-container'})
bike_data = data_container.find_all('p')
```
5. 找到包含当天天气情况的HTML元素:
```
city = '北京' # 假设要获取北京的天气情况
url = f'https://tianqi.moji.com/weather/china/{city.lower()}'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
weather_container = soup.find('div', {'class': 'wea_info'})
weather_data = weather_container.find_all('span')
```
6. 连接MySQL数据库并创建表格:
```
conn = pymysql.connect(host='localhost', port=3306, user='root', password='your_password', db='your_database')
cursor = conn.cursor()
# 创建表格
sql_create_table = '''
CREATE TABLE IF NOT EXISTS bike_weather_data (
id INT PRIMARY KEY AUTO_INCREMENT,
date DATE,
bike_data VARCHAR(100),
weather_data VARCHAR(100)
)
'''
cursor.execute(sql_create_table)
```
7. 将数据插入到数据库中:
```
date = '2022-01-01' # 假设数据是2022年1月1日的
bike_data_str = ''
for item in bike_data:
bike_data_str += item.text + '\n'
weather_data_str = ''
for item in weather_data:
weather_data_str += item.text + '\n'
sql_insert_data = f'''
INSERT INTO bike_weather_data (date, bike_data, weather_data)
VALUES ('{date}', '{bike_data_str}', '{weather_data_str}')
'''
cursor.execute(sql_insert_data)
conn.commit()
```
注意,具体的网页URL和HTML元素需要根据实际情况进行调整。另外,请注意网站的数据采集政策,遵守相关法律法规。同时,数据库连接信息也需要根据实际情况进行修改。
阅读全文