小作业:爬取猫眼电影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. java单态模式_Java单态模式
  2. git提交代码,合并同步分支
  3. 统计 表格_电商运营表格合集,运营统计绩效策划,全套excel表拿来就用
  4. poj1251 Jungle Roads Kruskal算法+并查集
  5. 初步体验数据驱动之美---TreeView
  6. springboot整合redis,推荐整合和使用案例(2021版)
  7. 八皇后问题python回溯_解决Python基于回溯法子集树模板实现8皇后问题
  8. android sdk下载慢的解决方法
  9. apriori关联规则
  10. php导出excel数据
  11. Xbox360 手柄通过网络远程控制树莓派
  12. PCB多层板为什么都是偶数层
  13. 程序员该如何规划自己的职业发展?
  14. Druid加载(load data)HDFS文件数据
  15. 实用电脑软件安利,朋友们快来挖宝
  16. Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks论文理解
  17. 【转载】Tomcat崩溃事件
  18. 优思学院|利用Excel进行双样本t检验
  19. js如何点击父级元素关闭,点击子级不受影响
  20. 耶鲁大学《博弈论》课程——前言(以囚徒困境为引)

热门文章

  1. Android 9 Audio系统笔记:AudioFlinger音频流处理流程
  2. 电脑裸奔-中木马-QQ被盗-大团圆结局(QQ申诉艰难旅程)
  3. 【树形dp】贪吃的九头龙
  4. can协议crc计算_CAN协议中CRC编码的硬件实现
  5. 6-1 哈夫曼树及哈夫曼编码分数
  6. 6-1 哈夫曼树及哈夫曼编码
  7. hello ,酷狗音乐产品体验报告
  8. html文字旋转以后变形,CSS3中的变形处理——transform功能(旋转、缩放、倾斜、移动)...
  9. 【程序人生】《你相信上帝的存在吗?》
  10. 全息投影手机Alo将引领未来趋势!全息3d 网