小作业:爬取猫眼电影top100, 保存 电影名, 排名, 评分, 主演, 封面图片, 上映时间到数据库

maoyan.com/board/4

代码

import requests, pymysql
from bs4 import BeautifulSoup
# 连接数据库
connection = pymysql.connect(host='localhost', user='root', password='root', port=3306)
# 创建游标
cursor = connection.cursor()
# 建库, 建表
def create_table():# 如果存在即删除数据库 maoyancursor.execute('drop database if exists maoyan')# 创建maoyan数据库, 字符集utf8cursor.execute('create database maoyan character set utf8')# 使用数据库cursor.execute('use maoyan')# 创建数据表movie, id主键, title电影名, score评分, img图片路径, actors主演, release_date上映日期, ranking排名cursor.execute('''create table movie(id int primary key auto_increment, title varchar(255) not null, score decimal(2,1) not null, img varchar(255) not null,actors varchar(255) not null,release_date varchar(20) not null,ranking int not null)''')# 提交sql语句, 增删改需要提交connection.commit()
# 获取电影信息
def get_movies():# https://maoyan.com/board/4?offset=0# 0,1,2,3,4,5,6,7,8,9for i in range(1):print(i)soup = BeautifulSoup(requests.get('https://maoyan.com/board/4?offset={}'.format(i*10)).text, 'html.parser')# 在dl里面找dd, 每个dd都保存了一部电影的信息for dd in soup.find('dl', class_='board-wrapper').find_all('dd'):# 电影标题title = dd.find('a')['title']# 电影的图片链接img = dd.find('img', class_='board-img')['data-src'].split('jpg')[0]+'jpg'# 电影的主演actors = dd.find('p', class_='star').text.strip()# 电影的评分score = dd.find('p', class_='score').text# 电影的排行ranking = dd.find('i').text# 电影的上映日期release_date = dd.find('p',class_="releasetime").text[5:15]# 插入数据库add_movies(title, img, actors, score, ranking, release_date)
# 把电影信息写入数据库
def add_movies(title, img, actors, score, ranking, release_date):# 拼接sql语句sql = "insert into movie(title, img, actors, score, ranking, release_date) values({},{},{},{},{},{})".format(repr(title), repr(img), repr(actors), score, ranking, repr(release_date))print(sql)# 执行cursor.execute(sql)# 提交connection.commit()
def query_movie():sql = "select * from movie"# 执行sqlcursor.execute(sql)# 获取所有数据res = cursor.fetchall()for i in res:print(i)
if __name__ == "__main__":create_table()get_movies()query_movie()
复制代码

快速跳转:

猫哥教你写爬虫 000--开篇.md
猫哥教你写爬虫 001--print()函数和变量.md
猫哥教你写爬虫 002--作业-打印皮卡丘.md
猫哥教你写爬虫 003--数据类型转换.md
猫哥教你写爬虫 004--数据类型转换-小练习.md
猫哥教你写爬虫 005--数据类型转换-小作业.md
猫哥教你写爬虫 006--条件判断和条件嵌套.md
猫哥教你写爬虫 007--条件判断和条件嵌套-小作业.md
猫哥教你写爬虫 008--input()函数.md
猫哥教你写爬虫 009--input()函数-人工智能小爱同学.md
猫哥教你写爬虫 010--列表,字典,循环.md
猫哥教你写爬虫 011--列表,字典,循环-小作业.md
猫哥教你写爬虫 012--布尔值和四种语句.md
猫哥教你写爬虫 013--布尔值和四种语句-小作业.md
猫哥教你写爬虫 014--pk小游戏.md
猫哥教你写爬虫 015--pk小游戏(全新改版).md
猫哥教你写爬虫 016--函数.md
猫哥教你写爬虫 017--函数-小作业.md
猫哥教你写爬虫 018--debug.md
猫哥教你写爬虫 019--debug-作业.md
猫哥教你写爬虫 020--类与对象(上).md
猫哥教你写爬虫 021--类与对象(上)-作业.md
猫哥教你写爬虫 022--类与对象(下).md
猫哥教你写爬虫 023--类与对象(下)-作业.md
猫哥教你写爬虫 024--编码&&解码.md
猫哥教你写爬虫 025--编码&&解码-小作业.md
猫哥教你写爬虫 026--模块.md
猫哥教你写爬虫 027--模块介绍.md
猫哥教你写爬虫 028--模块介绍-小作业-广告牌.md
猫哥教你写爬虫 029--爬虫初探-requests.md
猫哥教你写爬虫 030--爬虫初探-requests-作业.md
猫哥教你写爬虫 031--爬虫基础-html.md
猫哥教你写爬虫 032--爬虫初体验-BeautifulSoup.md
猫哥教你写爬虫 033--爬虫初体验-BeautifulSoup-作业.md
猫哥教你写爬虫 034--爬虫-BeautifulSoup实践.md
猫哥教你写爬虫 035--爬虫-BeautifulSoup实践-作业-电影top250.md
猫哥教你写爬虫 036--爬虫-BeautifulSoup实践-作业-电影top250-作业解析.md
猫哥教你写爬虫 037--爬虫-宝宝要听歌.md
猫哥教你写爬虫 038--带参数请求.md
猫哥教你写爬虫 039--存储数据.md
猫哥教你写爬虫 040--存储数据-作业.md
猫哥教你写爬虫 041--模拟登录-cookie.md
猫哥教你写爬虫 042--session的用法.md
猫哥教你写爬虫 043--模拟浏览器.md
猫哥教你写爬虫 044--模拟浏览器-作业.md
猫哥教你写爬虫 045--协程.md
猫哥教你写爬虫 046--协程-实践-吃什么不会胖.md
猫哥教你写爬虫 047--scrapy框架.md
猫哥教你写爬虫 048--爬虫和反爬虫.md
猫哥教你写爬虫 049--完结撒花.md

转载于:https://juejin.im/post/5cfc4adde51d45108126d20c

猫哥教你写爬虫 040--存储数据-作业相关推荐

  1. 猫哥教你写爬虫 046--协程-实践-吃什么不会胖

    吃什么不会胖? 低热量食物 食物的数量有千千万,如果我们要爬取食物热量的话,这个数据量必然很大. 使用多协程来爬取大量的数据是非常合理且明智的选择 如果我们要爬取的话,那就得选定一个有存储食物热量信息 ...

  2. 猫哥教你写爬虫 006--条件判断和条件嵌套

    流程控制 复仇者联盟3-无限战争(搜集宝石) python里面, 不需要使用;来结尾, 因为python是使用换行来结束一行代码的 if判断, 没有{}, python使用缩进来表示层级关系 if.. ...

  3. 猫哥教你写爬虫 002--作业-打印皮卡丘

    作业 请你使用print()函数将下面的皮卡丘打印出来, 使用三种方式 へ /|/\7 ∠_// │ / /│ Z _,< / /`ヽ│ ヽ / 〉Y ` / /イ● 、 ● ⊂⊃〈 /() へ ...

  4. 猫哥教你写爬虫 005--数据类型转换-小作业

    小作业 程序员的一人饮酒醉 请运用所给变量,使用**str()**函数打印两句话. 第一句话:1人我编程累, 碎掉的节操满地堆 第二句话:2眼是bug相随, 我只求今日能早归 number1 = 1 ...

  5. 猫哥教你写爬虫 004--数据类型转换-小练习

    小练习, 改一下代码 word = '3.8' number = 1 sentence = '人工智障说:3.8+1等于' print(sentence+str(int(float(word)+num ...

  6. 猫哥教你写爬虫 037--爬虫-宝宝要听歌

    戴上耳机, 这个世界与我无关... 让我们用音乐洗涤心灵吧... 我们从哪个网站爬取资源呢? 专治各种不服... 打开酷狗官网, 可以看到搜索框,我们要爬取的数据就是搜索歌曲后, 酷狗后台返回的歌曲列 ...

  7. 猫哥教你写爬虫 027--模块介绍

    time模块 import time # 时间对象转美式时间字符串 print(time.asctime()) # Wed May 29 09:25:07 2019 print(time.asctim ...

  8. 猫哥教你写爬虫 000--开篇

    写在前面 快速跳转: 猫哥教你写爬虫 000--开篇.md 猫哥教你写爬虫 001--print()函数和变量.md 猫哥教你写爬虫 002--作业-打印皮卡丘.md 猫哥教你写爬虫 003--数据类 ...

  9. OpenGL.Shader:志哥教你写一个滤镜直播客户端:仿3个抖音滤镜效果(4镜像/电击/灵魂出窍)

    OpenGL.Shader:志哥教你写一个滤镜直播客户端(可能是结束篇) OpenGL.Shader基本的图像处理知识已经学习的7788了,所以这篇应该是滤镜直播客户端的最后一篇了,之后会出基于FFm ...

  10. OpenGL.Shader:志哥教你写一个滤镜直播客户端(5)视觉滤镜:对比度、曝光、马赛克

    OpenGL.Shader:志哥教你写一个滤镜直播客户端(5) 上一章介绍了如何在渲染nv21流的时候进行滤镜的无缝切换,这章内容紧接上一章,介绍三种滤镜特效:对比度.曝光.马赛克,并介绍如何动态调节 ...

最新文章

  1. snp可视化之瀑布图
  2. OpenCV使用dnn从图像中解析人体部位的实例(附完整代码)
  3. 功率谱有什么用_马达品牌不同,功率一样,变频器互相不能用,是什么原因
  4. 关于流控器件和压控器件
  5. P4981-父子【数学,树】
  6. 数据科学入门与实战:Matplotlib绘图基础一
  7. 刘强东发新年信:过去一年我们异常艰难
  8. 群里又会python的吗_自从会了Python在群里斗图就没输过,Python批量下载表情包!...
  9. 从0-1背包问题到动态规划
  10. Pannellum:实例之全景图自动旋转
  11. 拓端tecdat|python安娜卡列妮娜词云图制作
  12. Hbase与传统关系型数据库对比
  13. Chrome启动参数大全
  14. 上海驾照科目三练习笔记
  15. linux搭建云存储服务,CentOS 6.3搭建个人私有云存储ownCloud
  16. 注释工具一键添加佛祖保佑永无BUG、神兽护体等注释图案
  17. 使用Quads绘制函数曲线
  18. php使用sqlserver
  19. 利用pdf2image,将pdf文件转换成图片
  20. 组合数求解与(扩展)卢卡斯定理

热门文章

  1. apn(Access Point Name, 接入点名称)简介
  2. 数据集成之数据整合(Data Consolidation)
  3. 由于改 UOM conversion 导致库存数量和财务上的数据错误
  4. Instruments Leak
  5. 上帝模式下的shellcode
  6. java驱动sikuli打开虎牙直播
  7. 滴滴裁员 多一个月补偿反转苦情戏
  8. ubuntu14.04 desktop 32-bit kvm装windows xp
  9. KV杀毒软件创始人离世
  10. 初学JAVA-3-重新定义和第一个JAVA手工程序