python爬虫数据保存到本地各种格式的方法

最近爬虫又解决了很多问题,算是保存这部分的吧。

首先,我们如果想要抓取本地txt文件中的内容拿到特定网址去搜索。然后爬取搜索结果的话,这个很简单:

f=open('C://Python27//1.txt')           #只需要通过这句代码打开你本地对应路径的文件就OK

但是如果你想要打开excel表格呢?这里就需要下载xlrd库。百度搜索就可以,解压。在cmd中进入解压文件夹然后输入:python setup.py install就可以调用了

怎么打开excel呢:

import xlrd               
data = xlrd.open_workbook("C://Python27//2.xlsx")                     
table = data.sheets()[0]                       #进入你excel的sheet
nrows = table.nrows                             #行

ncols = table.ncols                             #列

rowValues=[]
for i in xrange(0,nrows):
rowValues.append(table.row_values(i))                                             #这样就可以打开你本地的excel了,当然,我把它保存在了列表里方便后面处理


读取文件完毕后你就调用你读取的文件信息去网站爬虫什么的,具体怎么爬这里不做介绍了。

接下来就是爬取数据的保存了:如果保存到txt的话:

(1)with open('3.txt','wb') as f:

    for tag in soup.find_all('div',class_='service-item-pic'):

        a_url = tag.find('a').get('href')

        f.write(a_url)

        f.write('\n')     


(2)for tag in soup.find_all('div',class_='service-item-pic'):

    with open('3.txt', 'a') as f:             

        a_url = tag.find('a').get('href')

        f.write(a_url)

        f.write('\n')                                                            #注意一个是wb,是直接写,会覆盖,一个是a,是追加,会保存’,这两种方法都可以,具体看你格式需要


那么如果你想保存到excel中的话呢?

同样的,假如你有很多组数据,我发现上面的第二种方法不能直接保存到已有数据的excel中,你先使用第一种之后,接下来的数据保存在用第二种就可以,但是先使用第一种方法又会覆盖原有数据,所以还有第三种方法:

from xlutils.copy import copy
from xlrd import open_workbook
from xlwt import easyxf
import os
excel=r'C://Python27//2.xlsx'
rb=open_workbook(excel)
wb=copy(rb)                                               #复制原有excel
sheet=wb.get_sheet(0)
x=0
y=5
for tag in res:
sheet.write(x,y,tag)

x+=1  

os.remove(excel)                     #删除原有的excel表格,但是我取消了之后没有多大作用,具体大家可以调试看看


wb.save(excel)                           #这种方法需要下载xlwt,xlutils,下载安装方法和上面的xlrd一样,xlutils是链接xlrd和xlwt之间的桥梁,这里的res是我之前爬下的数据


完事之后保存成.py文件就可以执行了




你可能感兴趣的:(python爬虫)