python


8、gucci_write_to_excel

<p>欢迎使用ShowDoc!</p> <pre><code class="language-python">from bs4 import BeautifulSoup import urllib.request # import pandas as pd import ssl import time import random import xlsxwriter import re import json import os import pickle import socket import sys</code></pre> <pre><code class="language-python">def get_all_list(): men_all = ['men_all_shoes', 'men_all_bags', 'men_all_belts', 'men_all_clothes', 'men_all_wallets', 'men_all_scarves'] women_all = ['women_all_shoes', 'women_all_bags', 'women_all_belts', 'women_all_clothes', 'women_all_wallets', 'women_all_scarves'] return men_all, women_all</code></pre> <pre><code class="language-python">kaola_list = pickle.load(open('./gucci/' + 'women_all_shoes' + '/kaola_list.txt', 'rb'))</code></pre> <pre><code class="language-python"></code></pre> <pre><code class="language-python">def it_write_excel(download_type, book): # ''' # 读取变量 it_goods_list = pickle.load(open('./gucci/' + download_type + '/it_goods_list.txt', 'rb')) sheet = book.add_worksheet(download_type) # 设置sheet表单元格列宽 sheet.set_column("A:A", 5) # 欧洲 sheet.set_column("B:B", 80.88) # 商品名称 sheet.set_column("C:C", 10.5) # 正面图 sheet.set_column("D:D", 19.38) # 货号 sheet.set_column("E:E", 12) # 欧洲零售价 sheet.set_column("F:F", 82) # 商品链接 # 设定整个sheet表的单元格的格式 property = { 'font_size': 11, # 字体大小 'bold': False, # 是否加粗 'align': 'center', # 水平对齐方式 left 'valign': 'vcenter', # 垂直对齐方式 'font_name': u'微软雅黑', 'text_wrap': False, # 是否自动换行 } cell_format = book.add_format(property) # 设置sheet表单元格行高 sheet.set_row(0, 22) # 设置第一行的高度为22 # 在向单元格中写入内容时,加上单元格样式 # 插入第一行 sheet.write(0, 0, '欧洲', cell_format) sheet.write(0, 1, '商品名称', cell_format) sheet.write(0, 2, '正面图', cell_format) sheet.write(0, 3, '货号', cell_format) sheet.write(0, 4, '欧洲零售价', cell_format) sheet.write(0, 5, '商品链接', cell_format) img_format = {'x_offset': 4, # 左右移动 'y_offset': 0, 'x_scale': 0.2, # 缩放比例 'y_scale': 0.19} # 插入爬取it_goods_list信息 row_number = 1 for product in it_goods_list: sheet.set_row(row_number, 52) # 设置第row_number行的高度为52 sheet.write(row_number, 1, product['product_title'], cell_format) sheet.insert_image(row_number, 2, product['url_path'], img_format) sheet.write(row_number, 3, product['productCode'], cell_format) # product['productCode'] sheet.write(row_number, 4, '€' + str(product['product_prices']), cell_format) sheet.write(row_number, 5, product['product_url'], cell_format) row_number = row_number + 1 download_type_number[download_type] = row_number # book.close() print(download_type + ': 写入EXCEL成功') return book</code></pre> <pre><code class="language-python">def it_write_excel_to_path(men_all, women_all, excel_name): book = xlsxwriter.Workbook(excel_name) for i in range(0, len(men_all)): print(men_all[i]) book = it_write_excel(men_all[i], book) for i in range(0, len(women_all)): print(men_all[i]) book = it_write_excel(women_all[i], book) write_home_page(book) book.close() print(excel_name + ': 写入EXCEL成功') return None</code></pre> <pre><code class="language-python">men_all, women_all = get_all_list()</code></pre> <pre><code class="language-python">download_type_number =\ { 'men_all_shoes':0, 'men_all_bags':0, 'men_all_belts':0, 'men_all_clothes':0, 'men_all_wallets':0, 'men_all_shoes':0, 'men_all_bags':0, 'men_all_belts':0, 'men_all_clothes':0, 'men_all_wallets':0 }</code></pre> <pre><code class="language-python">def write_home_page(book): keys = [] for k in download_type_number.keys(): keys.append(k) sheet = book.add_worksheet('Home') # 设置sheet表单元格列宽 sheet.set_column("A:A", 20) # 种类 sheet.set_column("B:B", 8.5) # 商品名称 # 设定整个sheet表的单元格的格式 property = { 'font_size': 11, # 字体大小 'bold': False, # 是否加粗 'align': 'center', # 水平对齐方式 left 'valign': 'vcenter', # 垂直对齐方式 'font_name': u'微软雅黑', 'text_wrap': False, # 是否自动换行 } cell_format = book.add_format(property) sheet.set_row(0, 22) # 设置第一行的高度为22 # 插入第一行 sheet.write(0, 0, '种类', cell_format) sheet.write(0, 1, '个数', cell_format) row_number = 1 all_number = 0 for i in range(0,len(download_type_number)): sheet.set_row(row_number, 22) # 设置第row_number行的高度为22 sheet.write(row_number, 0, keys[i], cell_format) all_number = all_number + download_type_number[keys[i]] - 1 sheet.write(row_number, 1, download_type_number[keys[i]] - 1, cell_format) # product['productCode'] row_number = row_number + 1 sheet.write(row_number, 0, '总计', cell_format) sheet.write(row_number, 1, all_number, cell_format) # book.close() print('HomePage' + ': 写入EXCEL成功') return book</code></pre> <pre><code class="language-python">it_write_excel_to_path(men_all, women_all, 'it_excel-20.xlsx')</code></pre> <pre><code>men_all_shoes men_all_shoes: 写入EXCEL成功 men_all_bags men_all_bags: 写入EXCEL成功 men_all_belts men_all_belts: 写入EXCEL成功 men_all_clothes men_all_clothes: 写入EXCEL成功 men_all_wallets men_all_wallets: 写入EXCEL成功 men_all_scarves men_all_scarves: 写入EXCEL成功 men_all_shoes women_all_shoes: 写入EXCEL成功 men_all_bags women_all_bags: 写入EXCEL成功 men_all_belts women_all_belts: 写入EXCEL成功 men_all_clothes women_all_clothes: 写入EXCEL成功 men_all_wallets women_all_wallets: 写入EXCEL成功 men_all_scarves women_all_scarves: 写入EXCEL成功 HomePage: 写入EXCEL成功 it_excel-20.xlsx: 写入EXCEL成功</code></pre> <pre><code class="language-python">len(kaola_list)</code></pre> <pre><code>15</code></pre> <pre><code class="language-python">all_number = 0 for i in range(0,5): kaola_list = pickle.load(open('./gucci/' + men_all[i] + '/kaola_list.txt', 'rb')) all_number = all_number + len(kaola_list) print(men_all[i]+ ' ' + str(len(kaola_list))) for i in range(0,5): kaola_list = pickle.load(open('./gucci/' + women_all[i] + '/kaola_list.txt', 'rb')) all_number = all_number + len(kaola_list) print(women_all[i]+ ' ' +str(len(kaola_list))) print(all_number)</code></pre> <pre><code>men_all_shoes 91 men_all_bags 105 men_all_belts 91 men_all_clothes 65 men_all_wallets 68 women_all_shoes 15 women_all_bags 148 women_all_belts 24 women_all_clothes 17 women_all_wallets 109 733</code></pre> <pre><code class="language-python">def zh_write_excel(download_type, book): # ''' # 读取变量 zh_goods_list = pickle.load(open('./gucci/' + download_type + '/zh_goods_list.txt', 'rb')) sheet = book.add_worksheet(download_type) # 设置sheet表单元格列宽 sheet.set_column("A:A", 5) # 中国 sheet.set_column("B:B", 55) # 商品名称 sheet.set_column("C:C", 10.5) # 正面图 sheet.set_column("D:D", 19.38) # 货号 sheet.set_column("E:E", 8.25) # 欧洲零售价 sheet.set_column("F:F", 106) # 商品链接 # 设定整个sheet表的单元格的格式 property = { 'font_size': 11, # 字体大小 'bold': False, # 是否加粗 'align': 'center', # 水平对齐方式 left 'valign': 'vcenter', # 垂直对齐方式 'font_name': u'微软雅黑', 'text_wrap': False, # 是否自动换行 } cell_format = book.add_format(property) # 设置sheet表单元格行高 sheet.set_row(0, 22) # 设置第一行的高度为22 # 在向单元格中写入内容时,加上单元格样式 # 插入第一行 sheet.write(0, 0, '中国', cell_format) sheet.write(0, 1, '商品名称', cell_format) sheet.write(0, 2, '正面图', cell_format) sheet.write(0, 3, '货号', cell_format) sheet.write(0, 4, '中国零售价', cell_format) sheet.write(0, 5, '商品链接', cell_format) gucci_zh_img_format = {'x_offset': 4, # 左右移动 'y_offset': 0, 'x_scale': 0.3, # 缩放比例 'y_scale': 0.29} img_format = {'x_offset': 4, # 左右移动 'y_offset': 0, 'x_scale': 0.2, # 缩放比例 'y_scale': 0.19} # 插入爬取zh_goods_list信息 row_number = 1 for product in zh_goods_list: sheet.set_row(row_number, 52) # 设置第row_number行的高度为52 sheet.write(row_number, 1, product['product_title'], cell_format) sheet.insert_image(row_number, 2, product['url_path'], gucci_zh_img_format) sheet.write(row_number, 3, product['productCode'], cell_format) # product['productCode'] sheet.write(row_number, 4, '¥' + str(product['product_prices']), cell_format) sheet.write(row_number, 5, product['product_url'], cell_format) row_number = row_number + 1 download_type_number[download_type] = row_number # book.close() print(download_type + ': 写入EXCEL成功') return book </code></pre> <pre><code class="language-python">def zh_write_excel_to_path(men_all, women_all, excel_name): book = xlsxwriter.Workbook(excel_name) for i in range(0, len(men_all)): print(men_all[i]) book = zh_write_excel(men_all[i], book) for i in range(0, len(women_all)): print(men_all[i]) book = zh_write_excel(women_all[i], book) write_home_page(book) book.close() print(excel_name + ': 写入EXCEL成功') return None</code></pre> <pre><code class="language-python">zh_write_excel_to_path(men_all, women_all, 'zh_excel-20.xlsx')</code></pre> <pre><code>men_all_shoes men_all_shoes: 写入EXCEL成功 men_all_bags men_all_bags: 写入EXCEL成功 men_all_belts men_all_belts: 写入EXCEL成功 men_all_clothes men_all_clothes: 写入EXCEL成功 men_all_wallets men_all_wallets: 写入EXCEL成功 men_all_scarves men_all_scarves: 写入EXCEL成功 men_all_shoes women_all_shoes: 写入EXCEL成功 men_all_bags women_all_bags: 写入EXCEL成功 men_all_belts women_all_belts: 写入EXCEL成功 men_all_clothes women_all_clothes: 写入EXCEL成功 men_all_wallets women_all_wallets: 写入EXCEL成功 men_all_scarves women_all_scarves: 写入EXCEL成功 HomePage: 写入EXCEL成功 zh_excel-20.xlsx: 写入EXCEL成功</code></pre> <pre><code class="language-python">all_number = 0 for i in range(0,5): kaola_list = pickle.load(open('./gucci/' + men_all[i] + '/zh_goods_list.txt', 'rb')) all_number = all_number + len(kaola_list) print(men_all[i]+ ' ' + str(len(kaola_list))) for i in range(0,5): kaola_list = pickle.load(open('./gucci/' + women_all[i] + '/zh_goods_list.txt', 'rb')) all_number = all_number + len(kaola_list) print(women_all[i]+ ' ' +str(len(kaola_list))) print(all_number)</code></pre> <pre><code>men_all_shoes 106 men_all_bags 107 men_all_belts 36 men_all_clothes 217 men_all_wallets 93 women_all_shoes 139 women_all_bags 202 women_all_belts 37 women_all_clothes 166 women_all_wallets 124 1227</code></pre> <pre><code class="language-python">def kaola_write_excel(download_type, book): # ''' # 读取变量 kaola_list = pickle.load(open('./gucci/' + download_type + '/kaola_list.txt', 'rb')) sheet = book.add_worksheet(download_type) # 设置sheet表单元格列宽 sheet.set_column("A:A", 5) # 考拉 sheet.set_column("B:B", 89) # 商品名称 sheet.set_column("C:C", 11.5) # 正面图 sheet.set_column("D:D", 50.38) # 商品链接 sheet.set_column("E:E", 14.25) # 到手价 sheet.set_column("F:F", 25.75) # 所有售价 sheet.set_column("G:G", 25.75) # 备选颜色 sheet.set_column("H:H", 28.75) # 销售商家 # 设定整个sheet表的单元格的格式 property = { 'font_size': 11, # 字体大小 'bold': False, # 是否加粗 'align': 'center', # 水平对齐方式 left 'valign': 'vcenter', # 垂直对齐方式 'font_name': u'微软雅黑', 'text_wrap': False, # 是否自动换行 } cell_format = book.add_format(property) # 设置sheet表单元格行高 sheet.set_row(0, 22) # 设置第一行的高度为22 # 在向单元格中写入内容时,加上单元格样式 # 插入第一行 sheet.write(0, 0, '考拉', cell_format) sheet.write(0, 1, '商品名称', cell_format) sheet.write(0, 2, '正面图', cell_format) sheet.write(0, 3, '商品链接', cell_format) sheet.write(0, 4, '到手价', cell_format) sheet.write(0, 5, '所有售价', cell_format) sheet.write(0, 6, '备选颜色', cell_format) sheet.write(0, 7, '销售商家', cell_format) gucci_zh_img_format = {'x_offset': 4, # 左右移动 'y_offset': 0, 'x_scale': 0.3, # 缩放比例 'y_scale': 0.29} img_format = {'x_offset': 4, # 左右移动 'y_offset': 0, 'x_scale': 0.2, # 缩放比例 'y_scale': 0.19} # 插入爬取kaola_list信息 row_number = 1 for product in kaola_list: sheet.set_row(row_number, 52) # 设置第row_number行的高度为52 sheet.write(row_number, 1, product['product_title'], cell_format) sheet.insert_image(row_number, 2, product['url_path'], img_format) sheet.write(row_number, 3, product['product_url'], cell_format) sheet.write(row_number, 4, '¥' + str(product['product_prices']), cell_format) sheet.write(row_number, 5, product['product_all_prices'], cell_format) sheet.write(row_number, 6, product['product_other_color'], cell_format) sheet.write(row_number, 7, product['product_sales_name'], cell_format) row_number = row_number + 1 download_type_number[download_type] = row_number # book.close() print(download_type + ': 写入EXCEL成功') return book </code></pre> <pre><code class="language-python">def kaola_write_excel_to_path(men_all, women_all, excel_name): book = xlsxwriter.Workbook(excel_name) for i in range(0, len(men_all)): print(men_all[i]) book = kaola_write_excel(men_all[i], book) for i in range(0, len(women_all)): print(men_all[i]) book = kaola_write_excel(women_all[i], book) write_home_page(book) book.close() print(excel_name + ': 写入EXCEL成功') return None</code></pre> <pre><code class="language-python">kaola_write_excel_to_path(men_all, women_all, 'kaola_excel-20.xlsx')</code></pre> <pre><code>men_all_shoes men_all_shoes: 写入EXCEL成功 men_all_bags men_all_bags: 写入EXCEL成功 men_all_belts men_all_belts: 写入EXCEL成功 men_all_clothes men_all_clothes: 写入EXCEL成功 men_all_wallets men_all_wallets: 写入EXCEL成功 men_all_scarves men_all_scarves: 写入EXCEL成功 men_all_shoes women_all_shoes: 写入EXCEL成功 men_all_bags women_all_bags: 写入EXCEL成功 men_all_belts women_all_belts: 写入EXCEL成功 men_all_clothes women_all_clothes: 写入EXCEL成功 men_all_wallets women_all_wallets: 写入EXCEL成功 men_all_scarves women_all_scarves: 写入EXCEL成功 HomePage: 写入EXCEL成功 kaola_excel-20.xlsx: 写入EXCEL成功</code></pre>

页面列表

ITEM_HTML