Python实现信息自动配对爬虫排版程序


Python实现信息自动配对爬虫排版程序

文章插图
作者 | 李秋键
责编 | 晋兆雨
头图 | CSDN付费下载自视觉中国
在很多的公司项目中 , 常常有很多对office项目的比较机械化的操作 , 在这里就可以借助Python实现对office的合理排版 。而这里我们就将借助海尔公司的出货表爬取对应图片信息 , 并重新排版成为更加合理的Excel布局 。
而今天我们这个项目是来自于实际生活中真实存在的处理事件 。海尔在国外的员工常常要处理一些进出货的表格统计 , 但是由于国外人很多不大精通汉字 , 故常常要通过给出的汉字在网上搜索图片 , 然后复制到表格中以方便国外人能看懂是什么货物 , 并加上拼音有助于理解 。相对以往而言 , 由于货物清单任务量很大 , 常常需要大量时间人力而且容易出错 , 故我们这里设计了个程序使得这一项任务完全可以由电脑自动完成 , 不仅速度极快 , 而且不需要浪费人力和精力 , 提高了生产效率 。
Python实现信息自动配对爬虫排版程序

文章插图
 
实验前的准备其中海尔给出的货物清单的Excel在4.xlsx中 , 数据如下:
Python实现信息自动配对爬虫排版程序

文章插图
Python实现信息自动配对爬虫排版程序

文章插图
代码总体框架
整体的程序框架分为两个重要部分 。一个部分是用来爬取数据 , 另一个用来排版成美观的Excel 。如下详解:
1 爬取数据并保存
如download.py程序可见 。
首先我们流程是从Excel读取数据、然后借助百度图库搜索图片 , 并爬取保存 。
2 Excel排版和拼音注释
如xls.py可见 。根据下载下来的图片和文字及其拼音保存排版 。
Python实现信息自动配对爬虫排版程序

文章插图
第三方库介绍
  1. Xlrd库:用来读取和保存Excel表格 , 更方便读取数据
  2. Pypinyin库:用来把汉字转为拼音 , 这里我们需要将它准成有音素的拼音
  3. Xlsxwriter库:用来读取和保存Excel表格 , 其可以更好地保存格式
  4. Requests库:Requests 是用Python语言编写 , 基于 urllib , 采用 Apache2 Licensed 开源协议的 HTTP 库 。它比 urllib 更加方便 , 可以节约我们大量的工作 , 完全满足 HTTP 测试需求 。
  5. Re库:正则表达式匹配
  6. Pillow库:读取图片
  7. Urllib库:用来网络爬虫处理
  8. Socket库:数据包处理
  9. 【Python实现信息自动配对爬虫排版程序】Openpyx库l:openpyxl是一款比较综合的工具 , 不仅能够同时读取和修改Excel文档 , 而且可以对Excel文件内单元格进行详细设置 , 包括单元格样式等内容 , 甚至还支持图表插入、打印设置等内容 , 使用openpyxl可以读写xltm, xltx, xlsm, xlsx等类型的文件 , 且可以处理数据量较大的Excel文件 , 跨平台处理大量数据是其它模块没法相比的 。因此 , openpyxl成为处理Excel复杂问题的首选库函数 。在使用openpyxl前先要掌握三个对象 , 即:Workbook(工作簿)、Worksheet(工作表)和Cell(单元格 , 存储具体的数据对象)三个对象 。
  10. Time库:用来每次爬取数据的适当延迟 , 以防止网站封掉ip 。
  11. Os模块:用来本地文件和文件夹的读取和生成等等 。

Python实现信息自动配对爬虫排版程序

文章插图
代码
在download程序中 , 首先是根据给出的Excel表读取数据 , 代码如下:
首先是设置编码格式和导入所要使用到的库:
#encoding=utf-8importxlrdfrompypinyin import lazy_pinyin,pinyinimportxlsxwriterimportrequestsimport osimport refrom PILimport Imageimporttimefromurllib import requestfromurllib import errorimportrandomimportsocket接着设立文件名变量方便保存和读取 。设立爬虫包的延迟时间为20s 。
#改文件名的地方excel_address="4.xlsx"socket.setdefaulttimeout(20)


推荐阅读