Python3爬取前程无忧招聘数据教程
统计与数据分析实战
共 898字,需浏览 2分钟
·
2020-09-03 11:10
文章来自群友 易某某 的投稿,在此表示感谢!
原文链接:https://blog.csdn.net/weixin_42572590/article/details/103443213
目录
1、背景介绍
1、背景介绍
2、爬取数据保存到txt文件
(1)网页分析
1 pat='(.*?).*?(.*?).*?(.*?)'
(2)代码编写
1#爬取前程无忧Python数据--写进.txt文件
2import urllib.request
3import re
4
5#获取源码
6def get_content(page):
7 url='https://search.51job.com/list/000000,000000,0000,00,9,99,%25E5%25A4%25A7%25E6%2595%25B0%25E6%258D%25AE,2,'+str(page)+'.html?lang=c&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare='
8 html = urllib.request.urlopen(url).read().decode("GBK","ignore")#打开网址
9 return html
10
11
12#读取此网页里面的内容并把正则表达式匹配的数据提取出来
13def get(html):
14 pat='(.*?).*?(.*?).*?(.*?)'
15 #pat='
16 rst=re.compile(pat,re.S).findall(html)
17 return rst
18
19
20#多页处理,下载到文件
21for i in range(1,10):
22 print("正在爬取第"+str(i)+"页数据...")
23 html=get_content(i)#调用获取网页源码
24 #print("网址源码:"+html)
25 rst=get(html)
26 #print("数据:"+str(rst))
27 for j in rst:
28 with open("D:/Test/data/data1.txt","a",encoding="utf-8") as f:
29 f.write(j[0]+'\t'+j[1]+'\t'+j[2]+'\t'+j[3]+'\t'+j[4]+'\t'+'\n')
30 f.close()
31print('程序运行结束!')
(3)最终结果
3、爬取数据保存到excel文件
(1)代码编写
1#爬取前程无忧Python数据--创建并写进excel文件
2import urllib.request
3import re
4import xlwt #用来创建excel文档并写入数据
5
6#获取源码
7def get_content(page):
8 url='https://search.51job.com/list/000000,000000,0000,00,9,99,%25E5%25A4%25A7%25E6%2595%25B0%25E6%258D%25AE,2,'+str(page)+'.html?lang=c&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare='
9 html = urllib.request.urlopen(url).read().decode("GBK","ignore")#打开网址
10 return html
11
12#读取此网页里面的内容并把正则表达式匹配的数据提取出来
13def get(html):
14 pat='(.*?).*?(.*?).*?(.*?)'
15 rst=re.compile(pat,re.S).findall(html)
16 return rst
17
18#爬取到的内容写入excel表格
19def excel_write(rst,index):
20 for item in rst:
21 for i in range(0,5):
22 ws.write(index,i,item[i]) #行,列,数据
23 print(index)
24 index += 1
25
26newTable="D:/Test/data/data1.xls" #表格名字
27wb = xlwt.Workbook(encoding='utf-8') #创建excel文件,声明编码
28ws = wb.add_sheet('sheet1') #创建表格
29headData = ['招聘职位','公司','地址','薪资','日期'] #表头信息
30for colnum in range(0,5):
31 ws.write(0,colnum,headData[colnum],xlwt.easyxf('font:bold on')) #行,列
32
33for each in range(1,10):
34 index = (each-1) * 50 + 1
35 excel_write(get(get_content(each)),index)
36wb.save(newTable)
37print('程序运行结束!')
(2)最终结果
看到这儿,很多小伙伴会说,数据集有了,可是不知道怎么分析啊?!严小样儿贴心地告诉你两种方法:
查看头条文章,内有Excel+Tableau教程;
链接送上,传送门祝你成功。
--END--
(扫码关注我,带你玩转数据分析)
读完、看完,点在看~
评论