urllib及re模块爬取51job的职位信息

https://search.51job.com/list/060000,000000,0000,00,9,99,python,2,3.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=

这是要爬取的网址

需要爬取这些内容,不多说,直接开始写了。

 

import re
import random
import urllib.request
import xlwt
 
# 获取html页面信息
def getHtml():
    url = 'https://search.51job.com/list/060000,000000,0000,00,9,99,python,2,1.html?l' \
              'ang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&' \
              'companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate' \
              '=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='
    req = urllib.request.Request(url)
    proxies = ["121.31.159.231:8123","110.73.10.193:8123","110.73.10.204:8123"]
    proxy_handler = urllib.request.ProxyHandler({"http":random.choice(proxies)})
    opener = urllib.request.build_opener(proxy_handler)
    urllib.request.install_opener(opener)
    response = urllib.request.urlopen(req)
    html = response.read().decode('gbk')
    # print(html)
    return html
# getHtml()
# 获取想要爬取的数据
 
 
def getdata(html):
    reg = re.compile(r'class="t1 ">.*?<a target="_blank" title="(.*?)".*? <span class="t2"><a target="_blank" title="(.*?)".*? <span class="t3">(.*?)</span>.*?<span class="t4">(.*?)</span>.*?<span class="t5">(.*?)</span>',re.S)
    items = re.findall(reg,html)
    # print(items)
    return items
 
dataList = []
# 存入dataList
def  saveDataList():
    html = getHtml()
    items = getdata(html)
    for i in items:
        data = []
        for j in range(5):
            data.append(i[j])
        dataList.append(data)
    return

# 存入Excel文件中
def  saveExcel(path):
    #创建Excel文件
    book = xlwt.Workbook()
    sheet = book.add_sheet('51job职位信息')
    col = [u'职位名',u'公司名',u'工作地点',u'薪资',u'发布时间']
    for i in range(5):
        sheet.write(0,i,col[i])
    for i in range(len(dataList)):
        data = dataList[i]
        for j in range(5):
            sheet.write(i+1,j,data[j])
    book.save(path)
saveDataList()
saveExcel('51job.xls')

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且行且安~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值