爬取某猎聘网站的案例介绍
1.爬取网站的目的
获取某猎聘网站上案例介绍的数据信息,并且将爬取到的数据写入到Excel表格中
2.找到关键信息源代码
从某网站的源代码中找到要提取的数据----案例介绍信息
这些代码有着共同的特征-----标签一样
#根据源代码定义要匹配和提取的数据
rel = '<div class="sc_d_c">.*?<span class="sc_d_con">(.*?)</span></div>' #获取数据信息
# .*? 起到站位符的作用,是匹配字符串的意思
# (.*?) 起到占位符的作用,匹配并且提取数据
3.代码内容
思路:
1.导入需要用到的模块
2.向网站发出访问请求
3.获取到网站的源代码,并进行转码
4.从源代码中解析需要的数据
5.把解析出来的数据写入到Excel表格中
- 1)创建Excel表格,并定义名称
- 2)定义表名
- 3)写入表头
- 4)将爬取的数据写入到列表中
import urllib.request
import re
import xlwt
#对网站发出请求,来获取源代码
def getdate(): #自定义函数
url_list = []
for i in range(3000,3050):
url = 'http://www.risfond.com/case/fmcg/{}'.format(i) #要访问的网站地址
html = urllib.request.urlopen(url).read().decode("utf-8") #打开网址并读取源代码,再用utf-8进行转码(将bytes转为utf-8)
#从源代码中解析数据
rel = '<div class="sc_d_c">.*?<span class="sc_d_con">(.*?)</span></div>' #获取数据信息
page_list = re.findall(rel,html) #通过正则表达式找到有共同标签的数据,用findall匹配下来,赋予给page_list
url_list.append(page_list)
return url_list
#把数据写入到excel
def excle_write(items):
newTable = 'pa_date.xls' #定义文件名
wb = xlwt.Workbook(encoding='utf-8') #转码为utf-8
ws = wb.add_sheet('date_1') #定义表名
headDate = ['职位名称','工作地点','案例日期','所在行业','职位周期','上岗人数','顾问团队'] #写入表头
#写入表头
for colunm in range(0,7): #根据表头定义列数
ws.write(0,colunm,headDate[colunm],xlwt.easyxf('font:bold on')) #行数 列数 数据 字体加粗
#将爬虫的数据存储到列表中
index = 1 #默认行数
for j in range(0,50):
for i in range(0,7):
ws.write(index,i,items[j][i])
index+=1
wb.save(newTable)
items = getdate() #调用此自定义函数;自定义函数必须调用,否则不会输出结果
excle_write(items)