一、填空题(30分)
(1)list1 = [x for x in range(5, 2, -1)],则打印list1的结果是_____________________(2分)
(2)Python中的编码格式你用过哪些?________,________,________ (3分)
(3)面向对象的特点是:______,______,______ (3分)
(4)数据库大致分为___________,____________,列举你学过两种数据库名称_______,________,________,_________ (4分)
(5)字典和列表的区别有哪些? (3分)
1._____________________________________________________________
2._____________________________________________________________
3._____________________________________________________________
(6)Scrapy创建项目、创建爬虫、运行爬虫的命令分别为__________,__________,__________ (3分)
(7)列举常用的数据解析方式及解析用到的包 (4分)
i)_____________________________
ii)_____________________________
iii)_____________________________
iv)_____________________________
(8)写一个用于匹配手机号的正则表达式_________________________________(2分)
(9)连接远程MySql数据库的命令为____________________________________ (3分)
(10)Pandas中常用的两种对象类型为______________,______________ (3分)
二、编程题(20分)
(1)用列表推导式实现下列功能(6分)
a)创建list1,存放1-100(包含100)中既是2又是3倍数的数字
b)现有列表list1,请将列表1中所有以’张’开头的名字放到list2中
(2)现有一段json字符串string,如何将string转换为csv文件保存到本地磁盘,写出具体代码(5分)
(3) 分别使用正则、xpath、bs4将下列数据中的小说图片链接,小说名称,文件大小等数据提取出来(9分)
Html = ‘<div class="detail"><div class="detail_pic"><img src="/files/article/image/36/36895/36895s.jpg" οnerrοr="this.src='/modules/article/images/nocover.jpg'" /></div> <div class="detail_info"><div class="detail_right"> <h1>《吹神》全集</h1><ul><li class="small">点击次数:23671</li> <li class="small">文件大小:1.14MB</li><li class="small">书籍类型:ZIP+Txt</li><li class="small">更新日期:2018-03-09 09:04:19</li> <li class="small">连载状态:连载中</li><li class="small">书籍作者:辰机唐红豆</li><li >运行环境:安卓/iPhone/iPad/Kindle/平板</li> <li class="small">最新章节:<a href="/du/36/36895/">今天又是五更,说两句吧</a></li><li >动作:<a class="btn_box" style="color: white;" href="javascript:;" οnclick="addbookcase(36895);">加入书架</a></li> <li class="link"></li></ul></div></div>’
三、MySQL语句(共24分,每小题4分)
1. 创建一张学生表,包含姓名,年龄,学号(主键),班级编号,性别,成绩等字段,类型自己定义
2. 向表中插入1条数据,张三,20,10086,101,男,95
3. 删除所有姓名以张开头的学生信息
4. 创建一张班级表,包含班级名称,班级专业,班级编号(主键),班级人数,辅导员等字段,类型自己定义,并向表中插入一条数据,例如:python7期,python,505,24,李倩博
5. 统计成绩前三名的学员的所有信息,包含班级名称,班级专业,编号,姓名,年龄等(不允许使用子查询)
6. 创建一个新用户设置密码为123456,对test数据库中的所有表有增删改查的操作权限,拥有创建用户权限,并可以远程登录访问MySQL。
四、简答题(共26分)
1. 如何将scrapy项目部署到gerapy中?写出具体操作步骤(5分)
2. 如何将selenium集成到scrapy中动态获取数据?写出具体步骤(5分)
3. 简述scrapy中的数据流向(5分)
4. 如何将scrapy爬取的数据存储到MongoDB中(5分)
简述分布式爬虫的部署步骤(6分)