因为工作需求,需要审核一部分query内容是否有效,query储存在Excel中,文本内容为页面的Title,而页面的URL以HyperLink的格式关联到每个Cell。

于是本能的想到用Python读取Excel文件之后进行文本分析,之后对每个链接进行一次HttpRequest,通过分析HttpResponse的内容来判断当前链接是否有效。
于是上网搜了下,发现比较主流的是用xlrd的插件,但是实际使用过程中发现,无论如何,最终获取的hyperlink_map值一直都是None,也没空去分析到底是为什么。最后经过搜索发现一个叫xlwings的Python库,可以有效使用。
xlwings:Python For Excel
具体的代码如下:
# -*- coding=utf-8 -*-
import xlwings as xw
import urllib
import sys
type = sys.getfilesystemencoding()
def get_html(url):
page = urllib.urlopen(url)
html = page.read()
return unzip(html)
## Debug的时候发现无论怎样做Decode,最后的结果都是乱码
## 后来发现是因为对应的网页做了压缩处理,所以需要对获取的网页内容手动解压缩
def unzip(data):
import gzip
import StringIO
data = StringIO.StringIO(data)
gz = gzip.GzipFile(fileobj=data)
data = gz.read()
gz.close()
return data
wb = xw.Book(r"C:\Users\hasee\Desktop\Test.xlsx")
main_data = wb.sheets["Sheet2"]
## 通过获取Last Cell来确定当前Sheet的有效行数与列数
rownum = main_data.range('A1').current_region.last_cell.row
colnum = main_data.range('A1').current_region.last_cell.column
## 定位column对应的列
col_dict = {"2":"B","3":"C","4":"D","5":"E","6":"F"}
for row in range(1, rownum + 1):
for col in range(2, colnum + 1):
query = main_data.range(row, 1).value
cell = main_data.range(row, col)
link = cell.hyperlink
html = get_html(link)
if "error-container" in html:
print "%s,%s,%s,%s" % (query, col_dict.get(str(col))+str(row), cell.value, cell.hyperlink)
## 对无效的链接所属的Cell染色,直接写入文件
cell.color = (253,218,4)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Python处理Excel
# Python
# Excel
# python高手之路python处理excel文件(方法汇总)
# Python对Excel进行处理的实操指南
# python之excel文件(.xls文件)处理方式
# 都是
# 的是
# 是因为
# 一个叫
# 解压缩
# 大家多多
# 过程中
# 无论如何
# 行数
# sys
# type
# unzip
# import
# utf
# urllib
# xw
# return
# url
# html
# urlopen
相关文章:
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
如何高效完成独享虚拟主机建站?
高性价比服务器租赁——企业级配置与24小时运维服务
已有域名能否直接搭建网站?
如何零成本快速生成个人自助网站?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
平台云上自主建站:模板化设计与智能工具打造高效网站
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
活动邀请函制作网站有哪些,活动邀请函文案?
ui设计制作网站有哪些,手机UI设计网址吗?
个人网站制作流程图片大全,个人网站如何注销?
如何快速搭建安全的FTP站点?
宝塔Windows建站如何避免显示默认IIS页面?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
装修招标网站设计制作流程,装修招标流程?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
网站制作服务平台,有什么网站可以发布本地服务信息?
建站之星如何实现网站加密操作?
如何确保西部建站助手FTP传输的安全性?
海南网站制作公司有哪些,海口网是哪家的?
如何选择PHP开源工具快速搭建网站?
如何快速建站并高效导出源代码?
内部网站制作流程,如何建立公司内部网站?
如何解决VPS建站LNMP环境配置常见问题?
如何用景安虚拟主机手机版绑定域名建站?
如何在企业微信快速生成手机电脑官网?
高端企业智能建站程序:SEO优化与响应式模板定制开发
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何在Windows服务器上快速搭建网站?
如何快速搭建虚拟主机网站?新手必看指南
如何规划企业建站流程的关键步骤?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
高端智能建站公司优选:品牌定制与SEO优化一站式服务
建站之星云端配置指南:模板选择与SEO优化一键生成
制作网站的软件免费下载,免费制作app哪个平台好?
如何在云主机上快速搭建多站点网站?
如何在Windows 2008云服务器安全搭建网站?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
如何在建站宝盒中设置产品搜索功能?
制作农业网站的软件,比较好的农业网站推荐一下?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
建站之星安装模板失败:服务器环境不兼容?
网站制作模板下载什么软件,ppt模板免费下载网站?
nginx修改上传文件大小限制的方法
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
魔方云NAT建站如何实现端口转发?
*请认真填写需求信息,我们会在24小时内与您取得联系。