scrapy生成excel工具(python3)

scrapy生成excel工具(python3)

背景:自己寫的簡單爬取電影種子的爬蟲,數據存儲到Excel

版本:python3

IDE:pycharm

環境:windows10

項目:scrapy爬蟲

注:如使用,請自行修改,謝謝

 

# -*- coding: utf-8 -*-
import xlwt
import xlrd


class ExcelPrintPipeline(object):
    def __init__(self):
        self.f = xlwt.Workbook()  # 創建工作薄
        self.sheet1 = self.f.add_sheet(u'種子資源', cell_overwrite_ok=True)
        self.rowsTitle = [u'標題', u'影片名稱', u'導演', u'影片演員', u'語言', u'影片類型', u'影片地區', u'更新時間', u'影片狀態', u'上映日期', u'劇情介紹', u'影片地址']  # 創建標題
        for i in range(0, len(self.rowsTitle)):
            # 最後一個參數設置樣式
            self.sheet1.write(0, i, self.rowsTitle[i], self.set_style('Times new Roman', 220, True))
        # Excel保存位置
        self.f.save('C:/torrent_movie.xls')

    def open_spider(self, spider):
        print("開始輸出xlsx文件")

    def process_item(self, item, spider):
        data = xlrd.open_workbook('C:/torrent_movie.xls')  # 打開Excel文件
        table = data.sheets()[0]  # 通過索引順序獲取table,因爲初始化時只創建了一個table,因此索引值爲0
        rowCount = table.nrows  # 獲取行數   ,下次從這一行開始
        data = []
        # 拼裝成一個列表
        # data.append(rowCount + m)  # 爲每條添加序號
        data.append(item['torrent_title'])
        data.append(item["torrent_name"])
        data.append(item["torrent_director"])
        data.append(item["torrent_actor"])
        data.append(item['torrent_language'])
        data.append(item["torrent_type"])
        data.append(item["torrent_region"])
        data.append(item["torrent_update_time"])
        data.append(item['torrent_status'])
        data.append(item["torrent_show_time"])
        data.append(item["torrent_introduction"])
        data.append(item["torrent_url"])

        for i in range(len(data)):
            self.sheet1.write(rowCount, i, data[i])  # 寫入數據到execl中
        self.f.save('C:/torrent_movie.xls')
        return item

    def close_spider(self, spider):
        self.f.save('C:/torrent_movie.xls')
        print("結束輸出xlsx文件")

    #該函數設置字體樣式
    def set_style(self,name, height, bold=False):
        style = xlwt.XFStyle()  # 初始化樣式
        font = xlwt.Font()  # 爲樣式創建字體
        font.name = name
        font.bold = bold
        font.colour_index = 2
        font.height = height
        style.font = font
        return style

 

posted @ 2019-01-15 22:25 故意養只喵叫順兒 閱讀(...) 評論(...) 編輯 收藏
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章