存储数据的方式

常用的存储数据的方式有两种——存储成csv格式文件、存储成Excel文件(不是复制黏贴的那种)
前面,我有讲到json是特殊的字符串。其实,csv也是一种字符串文件的格式,它组织数据的语法就是在字符串之间加分隔符——行与行之间是加换行符,同行字符之间是加逗号分隔。

存储数据的基础知识

存储成csv格式文件和存储成Excel文件,这两种不同的存储方式需要引用的模块也是不同的。操作csv文件我们需要借助csv模块;操作Excel文件则需要借助openpyxl模块。

import openpyxl
#利用openpyxl.Workbook()函数创建新的workbook(工作簿)对象,就是创建新的Excel文件
wb=openpyxl.Workbook()
#wb.active就是获取这个工作簿的活动表,通常就是第一个工作表
sheet=wb.active
#可以用.title给工作表命名
sheet.title='new title'
#sheet['A1']=‘漫威宇宙’
rows=[['美国队长','钢铁侠','蜘蛛侠'],['男','男','男']]
for row in rows:sheet.append(row)
#必须要保存
wb.save('Marvel.xlsx')
import openpyxl
#利用openpyxl.Workbook()函数创建新的workbook(工作簿)对象,就是创建新的Excel文件
wb=openpyxl.Workbook()
#wb.active就是获取这个工作簿的活动表,通常就是第一个工作表
sheet=wb.active
#可以用.title给工作表命名
sheet.title='new title'
#sheet['A1']=‘漫威宇宙’
rows=[['美国队长','钢铁侠','蜘蛛侠'],['男','男','男']]
for row in rows:sheet.append(row)
#必须要保存
wb.save('Marvel.xlsx')#读取
wb=openpyxl.load_workbook('Marvel.xlsx')
sheet=wb['new title']
sheetname=wb.sheetnames
print(sheetname)
A1_cell=sheet['A1']
A1_value=A1_cell.value
print(A1_value)
import requests, openpyxl# 创建工作簿
wb = openpyxl.Workbook()
# 获取工作簿的活动表
sheet = wb.active
# 工作表重命名
sheet.title = 'lyrics'sheet['A1'] = '歌曲名'  # 加表头,给A1单元格赋值
sheet['B1'] = '所属专辑'  # 加表头,给B1单元格赋值
sheet['C1'] = '播放时长'  # 加表头,给C1单元格赋值
sheet['D1'] = '播放链接'  # 加表头,给D1单元格赋值url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp'
for x in range(5):params = {'ct': '24','qqmusic_ver': '1298','new_json': '1','remoteplace': 'txt.yqq.song','searchid': '59091538798969282','t': '0','aggr': '1','cr': '1','catZhida': '1','lossless': '0','flag_qc': '0','p': str(x + 1),'n': '20','w': '周杰伦','g_tk': '5381','loginUin': '0','hostUin': '0','format': 'json','inCharset': 'utf8','outCharset': 'utf-8','notice': '0','platform': 'yqq.json','needNewCode': '0'}res_music = requests.get(url, params=params)json_music = res_music.json()list_music = json_music['data']['song']['list']for music in list_music:# 以name为键,查找歌曲名,把歌曲名赋值给namename = music['name']# 查找专辑名,把专辑名赋给albumalbum = music['album']['name']# 查找播放时长,把时长赋值给timetime = music['interval']# 查找播放链接,把链接赋值给linklink = 'https://y.qq.com/n/yqq/song/' + str(music['mid']) + '.html\n\n'# 把name、album、time和link写成列表,用append函数多行写入Excelsheet.append([name, album, time, link])print('歌曲名:' + name + '\n' + '所属专辑:' + album + '\n' + '播放时长:' + str(time) + '\n' + '播放链接:' + link)# 最后保存并命名这个Excel文件
wb.save('Jay.xlsx')

爬虫豆瓣TOP250的电影信息并存储excel

import requests
import openpyxl
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
list_all=[]
wb=openpyxl.Workbook()
sheet=wb.active
sheet.title='movie'
sheet['A1']='排名'
sheet['B1']='电影名'
sheet['C1']='评分'
sheet['D1']='评论'
sheet['E1']='播放链接'
for i in range(0,10):x=i*25http='https://movie.douban.com/top250?start='+str(x)+'&filter= '# print(http)res = requests.get(http, headers=headers)html = res.textlist_movies = BeautifulSoup(html, 'html.parser')list_movies = list_movies.find_all('div', class_='item')for movie in list_movies:# print(movie)# print('---------------------------')number = movie.find('em').text# print(number+'%%%%%%')URL = movie.find('a')['href']# print(URL+'%%%%%')title = movie.find('span', class_='title').text# print(title+'%%%%%%%')score = movie.find('span', class_='rating_num').text# print(score)try:recommended = movie.find('span', class_='inq').textexcept:recommended = '没有评论'# print(recommended)list_all.append([number, title, score, recommended, URL])sheet.append([number, title, score, recommended, URL])
wb.save('Top250_movie.xlsx')
for movie in list_all:print(movie)

Python爬虫(5)相关推荐

  1. 关于Python爬虫原理和数据抓取1.1

    为什么要做爬虫? 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数.阿里指数.TBI腾讯浏览指数.新浪微博指数 数据平台购买数据:数据堂.国云数据 ...

  2. python爬虫之Scrapy框架的post请求和核心组件的工作 流程

    python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...

  3. python爬虫抓取信息_python爬虫爬取网上药品信息并且存入数据库

    我最近在学习python爬虫,然后正好碰上数据库课设,我就选了一个连锁药店的,所以就把网上的药品信息爬取了下来. 1,首先分析网页 2,我想要的是评论数比较多的,毕竟好东西大概是买的人多才好.然后你会 ...

  4. python爬虫案例_推荐上百个github上Python爬虫案例

    现在学生都对爬虫感兴趣,这里发现一些好的github开源的代码,分享给各位 1.awesome-spider 该网站提供了近上百个爬虫案例代码,这是ID为facert的一个知乎工程师开源的,star6 ...

  5. Python培训分享:python爬虫可以用来做什么?

    爬虫又被称为网络蜘蛛,它可以抓取我们页面的一些相关数据,近几年Python技术的到来,让我们对爬虫有了一个新的认知,那就是Python爬虫,下面我们就来看看python爬虫可以用来做什么? Pytho ...

  6. 玩转 Python 爬虫,需要先知道这些

    作者 | 叶庭云 来源 | 修炼Python 头图 | 下载于视觉中国 爬虫基本原理 1. URI 和 URL URI 的全称为 Uniform Resource Identifier,即统一资源标志 ...

  7. 买不到口罩怎么办?Python爬虫帮你时刻盯着自动下单!| 原力计划

    作者 | 菜园子哇 编辑 | 唐小引 来源 | CSDN 博客 马上上班了,回来的路上,上班地铁上都是非常急需口罩的. 目前也非常难买到正品.发货快的口罩,许多药店都售完了. 并且,淘宝上一些新店口罩 ...

  8. 一个月入门Python爬虫,轻松爬取大规模数据

    如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样一个月入门Python爬虫,轻松爬的编程语言提供越来越多的优秀工具,让爬虫 ...

  9. Python爬虫获取文章的标题及你的博客的阅读量,评论量。所有数据写入本地记事本。最后输出你的总阅读量!

    Python爬虫获取文章的标题及你的博客的阅读量,评论量.所有数据写入本地记事本.最后输出你的总阅读量!还可以进行筛选输出!比如阅读量大于1000,之类的! 完整代码在最后.依据阅读数量进行降序输出! ...

  10. Python爬虫破解有道翻译

    有道翻译是以异步方式实现数据加载的,要实现对此类网站的数据抓取,其过程相对繁琐,本节我以有道翻译为例进行详细讲解. 通过控制台抓包,我们得知了 POST 请求的参数以及相应的参数值,如下所示: 图1: ...

最新文章

  1. 重启nagios有异常提示Starting nagios:This account is currently not available
  2. C++BOOL,int,float,指针类型的变量a 与“零”比较语句
  3. nginx-1.13.x源码安装
  4. 关于云原生,这是最详细的技术知识
  5. 系统集成项目管理工程师_系统集成项目管理工程师,最热门的入户软考专业!...
  6. 图解:一句“我喜欢你”在网络中经历了什么
  7. 分布式系统关注点(20)——阻塞与非阻塞有什么区别?
  8. Tarjan边的双联通
  9. 《为iPad而设计:打造畅销App》——用iPad发布报纸和杂志
  10. matlab设计理想带通滤波器 bpf(f_sf_b1_b2),QDPSK信号数字化解调器中带通滤波器的设计与仿真...
  11. amos里CFA可行性辨别结果怎么看_AMOS 中验证性因素分析(CFA)
  12. U盘文件夹被隐藏,如何让去除文件夹隐藏属性
  13. win10系统云服务器配置,win10系统云服务器配置
  14. 防火墙与路由器的区别
  15. 2022-4-16 c++ 杂记 mutex GUARDED_BY std::unique_ptr unordered_map ::开头
  16. PotPlayer不支持S/W HEVC(H.265)解码怎么办?一招解决所有的不支持解码
  17. 计算机组成原理和微机原理实验报告,《计算机组成原理》实验指导.doc
  18. 华为交换机添加用户及用户等级
  19. 怎么写一篇优质爆款小红书种草文案?美妆产品为例
  20. 猜数字游戏——“C“

热门文章

  1. ServU与IIS冲突原因:80、443端口占用
  2. linux cc***防范
  3. Linux下empress数据库,Linux命令compress使用“Lempress-Ziv”编码压缩数据文件
  4. uniapp 模块权限配置 权限管理中英对照
  5. 又爆作弊丑闻?AAAI 2023审稿人被作者找上门,才发现rebuttal阶段审稿人互相可见...
  6. 羊年内核堆风水: “Big Kids’ Pool”中的堆喷技术
  7. aso优化_您的关键字策略在App Store优化(ASO)中不起作用的5个原因
  8. 重学Mysql之Mysql8.0修改密码策略
  9. Fedora16+XAMPP+Drupal7建站,从零开始全程指导
  10. SAP 系统组织结构