python爬虫数据存进mysql数据库

发布时间 2023-11-02 12:32:51作者: 天线小公子

一、安装mysql和mysql workbench

我已经在电脑上安装了最新的mysql8.2.0,配置好环境变量,在命令提示符中以管理员的身份初始化并成功启动mysql数据库。

前期因为以前的mysql没有卸载干净,导致mysql一直无法启动服务。所以一定要保证以前的mysql卸载干净才能重新安装,以前没有安装过的忽略。

二、记好mysql用户名、密码和端口号

三、连接pycharm和mysql数据库

安装pymysql:文件----设置----python解释器----“+”----搜索“pymysql”----安装

四、我这里是选择爬取迪丽热巴的微博名字,关注量和粉丝量为例。

import json
import requests
import time
import pymysql

def get_html(url):
headers = {
"User-Agent": "************************", #开发者模式查询info?uid=1669879400就会出来user-agen
        "Referer": "https://weibo.com"
}
cookies = {
"cookie": "你的微博cookie"
}
response = requests.get(url, headers=headers, cookies=cookies)
time.sleep(3) # 加上3s 的延时防止被反爬
return response.text


def get_data(id):
url1 = "https://weibo.com/ajax/profile/info?uid={}".format(id)
html1 = get_html(url1)
responses1 = json.loads(html1) #将json数据解析成python对象
data1 = responses1['data']['user']
data = {} # 新建个字典用来存数据
data['screen_name'] = data1['screen_name'] # 名字
data['followers_count'] = data1['followers_count'] # 粉丝数量
data['friends_count'] = data1['friends_count'] # 关注数量
save_data(data)

# 连接到数据库
def save_data(data):
conn = pymysql.connect(
host='localhost',
port=3306, #mysql占用的端口号
user='你的用户名', #安装时关注自己的用户名
password='**********', #mysql服务登录密码,安装mysql时记得关注
database='test1' #在mysql中已经建立好的数据库名称
)
cursor = conn.cursor() #创建游标
sql = 'INSERT INTO Dear_dilireba(screen_name, followers_count, friends_count) VALUES (%s,%s,%s)' #Dear_dilireba是数据表,第一个括号是表中字段,第二个括号是数据属性
    cursor.execute(sql, (data['screen_name'],data['followers_count'],data['friends_count']))


# 关闭
cursor.close()
# 提交事务
conn.commit()
# 关闭数据库连接
conn.close()
print('插入操作成功!')


if __name__ == '__main__':
uid = ['1669879400']
for id in uid:
get_data(id)

五、mysql数据库查询