python爬虫初探:数据存储器

程序猿的日常

今天来讲讲数据存储器,这个话题相对简单。

上一节“HTML解析器”输出的数据为字典类型。由于数据量较小,可以把数据存储为文件。当数据量较大的时候,将其存储为单个文件就不合适了,可以考虑存储为多个文件或是存入数据库。为了避免频繁读写文件,可以先把每个循环得到的数据以列表的形式暂存在内存里,等到全部页面爬取结束后再存至文件。

代码如下:

import codecs ''' DataOutput ''' class DataOutput(object): def __init__(self): self.datas = [] #可以将数据暂存在这个列表里 #每个循环调用一次此函数,暂存数据 def store_data(self, data): if data is None: print "data is None" return self.datas.append(data) #全部页面爬取结束后调用此函数,写入文件 def output_html(self): fout=codecs.open('baike.html', 'w', encoding='utf-8') fout.write("") fout.close() self.datas = [] #清空表格,释放内存

这里将数据写入了html文件,这样在浏览器中便能打开,方便阅读。

代码中使用了codecs库,对于中文的读写来说,使用codecs.open()这个函数在编码上会简单许多,具体请查看 这篇博文。

OK,至此,一个简单的爬虫框架就写好了,当然,这只是个简单的开始。在实际的操作当中,要经常面临着网站反爬虫机制的步步紧逼,与屏幕那头的码农的较量才刚刚开始。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180129A1COCI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券