Python将爬取的网页数据写入Excel文件

通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的简单实现方法。

必要的第三方库:requests、beautifulsoup4、xlwt。

先来看看通过使用Excel文件保存数据的一个简单实例。

#导入xlwt模块

import xlwt

#创建一个Workbook对象,即创建一个Excel工作簿

f = xlwt.Workbook()

#创建学生信息表

#sheet1表示Excel文件中的一个表

#创建一个sheet对象,命名为“学生信息”,cell_overwrite_ok表示是否可以覆盖单元格,是Worksheet实例化的一个参数,默认值是False

sheet1 = f.add_sheet(u'学生信息',cell_overwrite_ok=True)

#标题信息行集合

rowTitle = [u'学号',u'姓名',u'性别',u'出生年月']

#学生信息行集合

rowDatas = [[u'',u'张三',u'男',u'1998-2-3'],[u'',u'李四',u'女',u'1999-12-12'],[u'',u'王五',u'男',u'1998-7-8']]

#遍历向表格写入标题行信息

for i in range(0,len(rowTitle)):

# 其中的'0'表示行, 'i'表示列,0和i指定了表中的单元格,'rowTitle[i]'是向该单元格写入的内容

    sheet1.write(0,i,rowTitle[i])

#遍历向表格写入学生信息

for k in range(0,len(rowDatas)):    #先遍历外层的集合,即每行数据

    for j in range(0,len(rowDatas[k])): #再遍历内层集合,j表示列数据

        sheet1.write(k+1,j,rowDatas[k][j]) #k+1表示先去掉标题行,j表示列数据,rowdatas[k][j] 插入单元格数据

#保存文件的路径及命名

f.save('D:/WriteToExcel.xlsx')

在D盘对应的名为WriteToExcel.xlsx的Excel文件中,发现信息已被插入到表格中。

类似地,将爬取到的数据写入Excel文件中保存。

import requests
from bs4 import BeautifulSoup
import xlwt def getHtml():
#k代表存储到Excel的行数
k=1
#创建一个工作簿
f = xlwt.Workbook()
#创建一个工作表
sheet = f.add_sheet("Python相关职业招聘信息")
rowTitle = ['职位名', '公司名', '工作地点', '薪资', '发布时间','链接']
for i in range(0,len(rowTitle)):
sheet.write(0, i, rowTitle[i])
  url='https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare=' #解析第1页
for page in range(1):
res = requests.get(url.format(page))
res.encoding = 'GBK'
soup = BeautifulSoup(res.text, 'html.parser')
t1 = soup.find_all('.t1 span a')
t2 = soup.select('.t2 a')
t3 = soup.select('.t3')
t4 = soup.select('.t4')
t5 = soup.select('.t5')
for i in range(len(t1)):
job = t1[i].get('title')#获取职位名
href = t2[i].get('href')#获取链接
company = t2[i].get('title')#获取公司名
location = t3[i+1].text#获取工作地点
salary = t4[i+1].text#获取薪资
date = t5[i+1].text#获取发布日期
print(job + " " + company + " " + location + " " + salary + " " + date + " " + href)
f.write(k,0,job)
f.write(k,1,company)
f.write(k,2,location)
f.write(k,3,salary)
f.write(k,4,date)
f.write(k,5,href)
k+=1#每存储一行 k值加1
f.save('D:/Python相关职业招聘信息.xlsx')#写完后调用save方法进行保存 if __name__=='__main__':
getHtml()

Python:将爬取的网页数据写入Excel文件中的更多相关文章

  1. Python学习笔记_从CSV读取数据写入Excel文件中

    本示例特点: 1.读取CSV,写入Excel 2.读取CSV里具体行.具体列,具体行列的值 一.系统环境 1. OS:Win10 64位英文版 2. Python 3.7 3. 使用第三方库:csv. ...

  2. 爬取百度页面代码写入到文件+web请求过程解析

    一.爬取百度页面代码写入到文件 代码示例: from urllib.request import urlopen #导入urlopen包 url="http://www.baidu.com& ...

  3. PHP将数据写入指定文件中

    首先创建一个空的txt文件,这里我们创建了一个1.txt的空文件. 第一种方法:fwrite函数 <?php $file=fopen('1.txt','rb+'); var_dump(fwrit ...

  4. java 写入数据到Excel文件中_Demo

    =======第一版:基本功能实现======= import com.google.common.collect.Maps; import org.apache.log4j.Logger; impo ...

  5. flink---实时项目--day01--1. openrestry的安装 2. 使用nginx+lua将日志数据写入指定文件中 3. 使用flume将本地磁盘中的日志数据采集到的kafka中去

    1. openrestry的安装 OpenResty = Nginx + Lua,是⼀一个增强的Nginx,可以编写lua脚本实现⾮非常灵活的逻辑 (1)安装开发库依赖 yum install -y ...

  6. python爬虫-爬取豆瓣电影数据

    #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:27# 文件 :spider_05.py# IDE :PyChar ...

  7. python操作MySQL数据库并将数据写入excel

    #!/usr/bin/python# -*- coding:utf-8 -*-'''方法:通过pymsql模块连接mysql数据库,然后通过游标cursor查询SQL语句将结果存储在Excel文件中, ...

  8. perl 通过<<和文件句柄将数据写入到文件中去

    可以通过文件句柄和<<运算符将文件内容写入到文件中去 #!usr/bin/perl -W use strict; use Spreadsheet::ParseExcel; use utf8 ...

  9. python爬取动态网页数据,详解

    原理:动态网页,即用js代码实现动态加载数据,就是可以根据用户的行为,自动访问服务器请求数据,重点就是:请求数据,那么怎么用python获取这个数据了? 浏览器请求数据方式:浏览器向服务器的api(例 ...

随机推荐

  1. MySQL 表记录查询小练习

    表记录查询小练习 查看岗位是teacher的员工姓名.年龄 查看岗位是teacher且年龄大于26岁的员工姓名.年龄 查看岗位是teacher且薪资在12000-16000范围内的员工姓名.年龄.薪资 ...

  2. 每周一练 之 数据结构与算法(Set)

    这是第四周的练习题,五一放假结束,该收拾好状态啦. 下面是之前分享的链接: 1.每周一练 之 数据结构与算法(Stack) 2.每周一练 之 数据结构与算法(LinkedList) 2.每周一练 之 ...

  3. BIOS安全设置

    1.开机按F2进入BIOS 2.进入 Security 界面 3.Set user password 用户密码 开机密码 设置为123456 4.Set supervisor password 进BI ...

  4. eclipse设置护眼模式,就是设置为黑色背景,

    效果如上图 首先下载jar包,然后放到下面的目录,然后打开eclipse然后选择哪个dark的那个主题就可以了 然而这里只是设置软件部分的, 代码的背景和高亮显示,是在另外一个地方设置, 一般是下载e ...

  5. 使用Power BI API 向流数据集推送实时数据并在仪表板可视化

    使用Power BI 实现实时数据的可视化是大家比较关心的一个话题,在仪表盘上实现推送数据的展示,可以在诸如指挥大屏等场景下使用. 本视频实战内容如下: https://v.qq.com/x/page ...

  6. c++-重载运算符(+-,++,--,+=,-=,cin,cout)

    操作符重载 自定义类型需要操作符重载 运算符重载入门技术推演 友元函数和成员函数实现2元运算符重载 友元函数和成员函数实现1元运算符重载(前置++,前置--,后置++,后置--) 友元函数实现运算符重 ...

  7. 浅谈c#和lua的gc

    前提: 本文参考和借鉴相关博客,相关版权归其所有,我只是做一个归纳整理,所以本文没有任何版权 参考文献和书籍: CLR和.Net对象生存周期:   https://www.cnblogs.com/Wd ...

  8. 基于H7的串口WIFI模块ESP8266的TCP客户端例子和操作说明(AP兼STA模式)

    说明: 1.如果不熟悉网络的话,等我这几天更新V7用户手册的ESP8266章节,如果熟悉的话,直接操作即可,这里将操作说明发出来. 2.串口WIFI是采用的AT指令操作,简单易用,指令手册在这个帖子里 ...

  9. python高阶函数——返回函数(闭包)

    首先,来看一个一般意义的求和: >>> def cal_sum(*args): ... sum = 0 ... for i in args: ... sum = sum + i .. ...

  10. C#中转换运算符explicit、implicit、operator、volatile研究

    C#中的这个几个关键字:explicit.implicit与operator,估计好多人的用不上,什么情况,这是什么?字面解释:explicit:清楚明白的;易于理解的;(说话)清晰的,明确的;直言的 ...