1. 程式人生 > >python爬蟲資料儲存到本地各種格式的方法

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檔案就可以執行了