python爬取信息到数据库与mysql简单的表操作

python 爬取豆瓣top250并导入到mysql数据库中

import pymysql
import requests
import re
url='https://movie.douban.com/top250'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0'}
proxies={
    'http':'http://232.139.33.51:80'
}
list=[]
for word in range(0,250,25):
    p={'start':word}
    req=requests.get(url,headers=headers,proxies=proxies,params=p)
    text=req.text
    pattern=re.compile('<em class="">(.*?)</em>.*?<span class="title">(.*?)</span>.*?<p class="">.*?'
                    '导演: (.*?) .*?<br>.*?/&nbsp;(.*?)&nbsp;/&nbsp;(.*?)\n  .*?<span class="inq">(.*?)</span>',re.S) #根据html页面写正则表达式来提取需要的信息
    te=pattern.findall(text)   

    for i in te:
        print(i)
        list.append(i)

#print(list)
db=pymysql.connect(host='localhost',user='root',password='1234',charset='utf8')          #passwd根据自己的数据库修改
cursor=db.cursor()          #创建游标
cursor.execute('create database movie_data')   #使用游标执行创建数据库
cursor.execute('use movie_data')        #使用数据库
sql = '''create table movie(  
id char(10) primary key,
name char(255),
director char(255),
country  char(200),
type     varchar(255),
brief varchar(255)
)default charset=utf8;
'''                   #创建表语句


cursor.execute(sql)
for i in list:
    insert_sql = "insert into movie values('%s','%s','%s','%s','%s','%s');" % (i[0], i[1], i[2], i[3], i[4],i[5])  #将变量值转入到sql语句。
    cursor.execute(insert_sql)
    db.commit()         #提交insert的数据信息


# #cursor.execute('drop database movie_data')

简单的mysql表操作

连接本地数据库

mysql -h localhost -u root -p

库操作

show databases;

create database 数据库名

drop database 数据库名

show create database 数据库
查看单个数据库信息

表操作

创建表
create table t1(
id int(4) not null,
name varchar(14) default 'allen'
);
约束条件
用于保证数据的完整性和一致性

PRIMARY KEY (PK)    标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY (FK)    标识该字段为该表的外键
NOT NULL    标识该字段不能为空
UNIQUE KEY (UK)    标识该字段的值是唯一的
AUTO_INCREMENT    标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT    为该字段设置默认值
UNSIGNED 无符号
ZEROFILL 使用0填充

查看表结构
desc 表名;

修改表名
alter table sc rename score;

插入数据
insert into student values
(1,'egon','male',18),
(2,'alex','female',81);

更新数据
UPDATE student set ssex='女'
where sname='张丽';

删除数据
DELETE FROM student
WHERE sno='2005030301';

详情mysql操作参考
这是一条超链接点击链接到mysql数据库总结笔记

posted @ 2021-11-26 11:10  supermao12  阅读(80)  评论(0编辑  收藏  举报