第四篇 - 爬取前程无忧python相关工作
环境:python3 pycharm
模块:requests,xlwt,urllib.request,re
正常三步走:
1.获取源代码
2.匹配源代码,获得目标数据
3.存储到文件中
直接上代码,列举两种获取源代码的方式,存储3中文件的方式。自由选择即可。
第一个标红部分引号里面的是网站url,太长就不贴上去了。查找方式:百度前程无忧官网,搜索python,点击页面2,将地址栏的地址粘贴到单引号里面。找到2.html部分,将2替换成{}即可。
第二个标红部分得到数字,是想获得数据的页数,根据需求自己填。
# import requests import re #用于正则匹配 # import xlwt #excel表格需要用到 import urllib.request #1.用requests模块获取网页html源码 # def get_content(page): # url = ''.format(page) # html = requests.get(url).content.decode('gbk') # return html #1.用urllib模块获取源代码 def get_content(page): url = ''.format(page) ------------1 html = urllib.request.urlopen(url).read().decode('gbk') return html #2.获取职位,薪资,公司名称 def get_Data(html): reg = re.compile(r'class="t1 ".*?<a target="_blank" title="(.*?)".*?<span class="t2"><a target="_blank" ' r'title="(.*?)".*?<span class="t3">(.*?)</span>.*?<span class="t4">(.*?)</span>.*?' r'<span class="t5">(.*?)</span>',re.S) items = re.findall(reg,html) return items #3.存储到.csv文件中 def save_file_csv(items): import csv csv_file = open('job.csv', 'w', newline='') writer = csv.writer(csv_file) writer.writerow(('职位名称','公司名称','公司地址','薪资','日期')) for item in items: writer.writerow(item) #3.存储到excel表格中 # def save_file_excel(items): # newTable = 'jobs.xls' # wb = xlwt.Workbook(encoding='utf-8')#创建excel文件 # ws = wb.add_sheet('job')#去创建表 # headData = ['职位名称','公司名称','公司地址','薪资','日期'] # index = 1 # for colnum in range(5): # ws.write(0,colnum,headData[colnum],xlwt.easyxf('font:bold on')) # for item in items: # for j in range(len(item)): # ws.write(index,j,item[j]) # index += 1 # wb.save(newTable) #3.存储到txt文件中 # def save_file_txt(items): # with open('job.txt','w') as f: # for item in items: # for j in range(len(item)): # f.write(item[j]) # f.write(' ') # f.write('\n') if __name__ == '__main__': for i in range(1,3): ---------------2 html = get_content(i) items = get_Data(html) save_file_csv(items)