zoukankan      html  css  js  c++  java
  • 【Python爬虫】存储格式化数据

    我们一直使用 print 方法打印爬虫获取的数据,接下来你将把这些数据保存到特定格式文件中。

    CSV 格式

    Python 提供了标准库 csv 来读写 csv 数据。

    新建一个 Python 文件,输入以下代码,并运行。

    import csv
    
    file = open('movies.csv', 'w', newline='')
    csvwriter = csv.writer(file)
    
    # 写入标题行
    csvwriter.writerow(['名称', '年份'])
    # 写入数据
    csvwriter.writerow(['A', '1992'])
    csvwriter.writerow(['B', '1998'])
    csvwriter.writerow(['C', '2010'])
    file.close

    使用记事本打开 movies.csv 文件,将运行结果复制到下面的文本框中:

    通常用来存储简单的数据,表格类型数据首选

    通常用来存储 「键-值」 数据,一般情况下的选择

    存储非常复杂的数据格式,大多数情况下用不到

    CSV 数据可以使用微软 Office Excel 软件打开。非常多的爬虫数据集都使用 CSV 作为存储格式。

    将爬虫数据写入 CSV 文件

    至此,你已经基本掌握了编写一个简单爬虫的技能,是不是很简单呢?

    from requests_html import HTMLSession
    import csv
    
    session = HTMLSession()
    
    file = open('movies.csv', 'w', newline='')
    csvwriter = csv.writer(file)
    csvwriter.writerow(['名称', '年份'])
    
    links = ['https://movie.douban.com/subject/1292052/', 'https://movie.douban.com/subject/26752088/', 'https://movie.douban.com/subject/1962665/']
    
    for link in links:
        r = session.get(link)
        title = r.html.find('#content > h1 > span:nth-child(1)', first=True)
        year = r.html.find('#content > h1 > span.year', first=True)
        csvwriter.writerow(title.text, year.text)
    
    file.close()

    上面代码有一处错误,你发现了吗?

    运行结果:

  • 相关阅读:
    原生JS里获取class属性
    在Aptana下安装Zen coding
    一个Vim配置
    在Aptana下安装Zen coding
    Sublime Text2破解
    评价。评星级js代码
    javascript 6步搞定性能优化!
    document.getElementById的简写方式
    aptana 代码折行
    vim的代码折叠:设置默认代码不折叠
  • 原文地址:https://www.cnblogs.com/HGNET/p/13299651.html
Copyright © 2011-2022 走看看