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>.*?/ (.*?) / (.*?)\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数据库总结笔记