我有一个HTML文件保存在本地,我需要爬取里面的某些数据并将爬取到的部分数据存储进Excel表中
#coding:utf-8
from lxml import etree
import xlsxwriter #:载入模块
#解析本地文件使用 etree.parse
parser = etree.HTMLParser(encoding='utf-8')
tree = etree.parse('1.html',parser=parser)
#这里可以根据源文件的格式以及自己要爬取的数据去改
list1 = tree.xpath('//body/div/div/div/table/tbody/tr/td')
#返回标签内容 text()
list2 = tree.xpath('//body/div/div/div/table/tbody/tr/td/text()')
#按照步长17去分割列表
r = [list2[i:i+17] for i in range(0,len(list2),17)]
# print(r)
workbook = xlsxwriter.Workbook('1.xlsx') #:新建名为1的excel文件
worksheet = workbook.add_worksheet() #:新建表
worksheet.write('A1','手机号') #:在A1写入100,只能单个写入
worksheet.write('B1','姓名') #:按行逐一写入列表a,多个写入
worksheet.write('C1','余额') #:按行逐一写入列表a,多个写入
worksheet.write('D1','卡类型') #:按行逐一写入列表a,多个写入
worksheet.write('E1','开卡时间') #:按行逐一写入列表a,多个写入
'''
循环,将二维列表中的数据写入到Excel中,这里要注意的是,因为列名占了一行,所以
行的下标要+1
'''
for i in range(0,len(r)):
worksheet.write(i+1,0,r[i][0])
worksheet.write(i+1,1,r[i][1])
worksheet.write(i+1,2,r[i][2])
worksheet.write(i+1,3,r[i][4])
worksheet.write(i+1,4,r[i][12])
workbook.close() #:关闭并保存文件
原文地址:https://blog.csdn.net/m0_58498198/article/details/134691488
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_18851.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。