当前位置:   article > 正文

python 爬取本地的HTML中的数据并将其存储进Excel表格中_python抓取网页数据并写入excel

python抓取网页数据并写入excel

我有一个HTML文件保存在本地,我需要爬取里面的某些数据并将爬取到的部分数据存储进Excel表中

我的解决思路如下:

  • 先爬取数据
  • 按照步长将数据分割成二维列表
  • 循环遍历将需要的数据存入Excel表中

实现代码如下:

  1. #coding:utf-8
  2. from lxml import etree
  3. import xlsxwriter #:载入模块
  4. #解析本地文件使用 etree.parse
  5. parser = etree.HTMLParser(encoding='utf-8')
  6. tree = etree.parse('1.html',parser=parser)
  7. #这里可以根据源文件的格式以及自己要爬取的数据去改
  8. list1 = tree.xpath('//body/div/div/div/table/tbody/tr/td')
  9. #返回标签内容 text()
  10. list2 = tree.xpath('//body/div/div/div/table/tbody/tr/td/text()')
  11. #按照步长17去分割列表
  12. r = [list2[i:i+17] for i in range(0,len(list2),17)]
  13. # print(r)
  14. workbook = xlsxwriter.Workbook('1.xlsx') #:新建名为1的excel文件
  15. worksheet = workbook.add_worksheet() #:新建表
  16. worksheet.write('A1','手机号') #:在A1写入100,只能单个写入
  17. worksheet.write('B1','姓名') #:按行逐一写入列表a,多个写入
  18. worksheet.write('C1','余额') #:按行逐一写入列表a,多个写入
  19. worksheet.write('D1','卡类型') #:按行逐一写入列表a,多个写入
  20. worksheet.write('E1','开卡时间') #:按行逐一写入列表a,多个写入
  21. '''
  22. 循环,将二维列表中的数据写入到Excel中,这里要注意的是,因为列名占了一行,所以
  23. 行的下标要+1
  24. '''
  25. for i in range(0,len(r)):
  26. worksheet.write(i+1,0,r[i][0])
  27. worksheet.write(i+1,1,r[i][1])
  28. worksheet.write(i+1,2,r[i][2])
  29. worksheet.write(i+1,3,r[i][4])
  30. worksheet.write(i+1,4,r[i][12])
  31. workbook.close() #:关闭并保存文件

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号