python爬新闻并保存csv_python爬虫数据数据存储csv

Python爬虫的数据存储模式有很多中,有json,mongodb,mysaql,csv,我本人了解这几个比较常用的。我们从最容易了解的csv开始。

CSV(comma-separated values,逗号分隔值)是存储表格数据的常用文件格式。Microsoft Excel 和很多应用都支持 CSV 格式,因为它很简洁。下面就是一个 CSV 文件的例子:

fruit,cost

apple,1.00

banana,0.30

pear,1.25

和Python 一样,CSV 里空白(whitespace)也是很重要的:每一行都用一个换行符分隔,列与列之间用逗号分隔(因此得名“逗号分隔”)。CSV 文件(有时也叫字符分隔值)

e8123e9fe19e

Python的csv 库可以非常简单地修改 CSV 文件,甚至可以从零开始创建一个 CSV 文件:

import csv

csvFile =open('test.csv', 'w+')

try:

writer = csv.writer(csvFile)

writer.writerow(('number', 'number plus 2','number times 2'))

for i in range(10):

writer.writerow( (i, i+2, i*2))

finally:

csvFile.close()

这里提个醒儿:Python 新建文件的机制考虑得非常周到。如果 test.csv 不存在,Python 会自动创建该文件(不会自动创建文件夹)。如果该文件已经存在,Python 会用新的数据覆盖 test.csv 文件。

e8123e9fe19e

运行完成后,你会看到一个 CSV 文件:

number,number plus2,number times 2

0,2,0

1,3,2

2,4,4

...

网页抓取的一个常用功能就是获取 HTML 表格并写入 CSV 文件,写入 CSV 文件之前需要忽略的 HTML 元素。用 BeautifulSoup 和 get_text() 函数,你可以用十几行代码完成这件事:

import csv

from urllib.requestimport urlopen

from bs4 importBeautifulSoup

html = urlopen('网址'

'Comparison_of_text_editors')

bs =BeautifulSoup(html, 'html.parser')

# 主对比表格是当前页面上的第一个表格

table =bs.findAll('table',{'class':'baidu'})[0]

rows =table.findAll('tr')

csvFile = open('editors.csv','wt+')

writer =csv.writer(csvFile)

try:

for row in rows:

csvRow = []

for cell in row.findAll(['td', 'th']):

csvRow.append(cell.get_text())

writer.writerow(csvRow)

finally:

csvFile.close()

e8123e9fe19e

获取单个表格的更简便的方法

如果你有很多 HTML 表格,且每个都要转换成 CSV 文件,或者要将许多 HTML 表格汇总到一个 CSV 文件,那么可以把这个程序整合到爬虫里。但是,如果这种事情你只需要做一次,那么更好的办法是复制粘贴。选中 HTML 表格内容然后复制粘贴到 Excel 里,就可以另存为 CSV 格式,不需要写代码就能搞定!

这个程序会在程序上一层目录的 files 文件夹里生成一个 CSV 文件 ../files/editors.csv。

其实没那么难,很简单的,动手演示就可以了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值