第四篇 - 爬取前程无忧python相关工作

Posted o云淡风轻o

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四篇 - 爬取前程无忧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(rclass="t1 ".*?<a target="_blank" title="(.*?)".*?<span class="t2"><a target="_blank" 
                     rtitle="(.*?)".*?<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(‘
‘)


if __name__ == __main__:
    for i in range(1,3):     ---------------2
        html = get_content(i)
        items = get_Data(html)
        save_file_csv(items)

 

以上是关于第四篇 - 爬取前程无忧python相关工作的主要内容,如果未能解决你的问题,请参考以下文章

python第四篇:记录相关操作

Python开发第四篇函数

第四篇 与Flask相关的插件(flask-sessionwtformsSQLAchemy)

Python案例篇:爬取分析大型招聘网站Python岗

Python 项目实践二(下载数据)第四篇

前程无忧岗位数据爬取+Tableau可视化分析