python爬取前程无忧招聘网站信息(requests+bs4+xlwt)

import requests
from bs4 import BeautifulSoup
import xlwt

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}


def get_html():
    k = 1  # 参k代表储存的行数
    wb = xlwt.Workbook()  # 创建工作簿
    f = wb.add_sheet("招聘信息")  # 创工作表

    '''
    下方循环是将表格中的第一行固定
    表第一行的前四列分别对应 职位、公司、工作地点、薪资
    '''
    raw = ['职位', '公司', '工作地点', '薪资']
    for i in range(len(raw)):
        f.write(0, i, raw[i])
    '''
    write函数表示第一个参数表示存储多少行
    第二个存储多少列表 第三个存储到对应列的值
    '''
    url = 'https://search.51job.com/list/120200,000000,0000,00,9,99,%25E5%25A4%25A7%25E6%2595%25B0%25E6%258D%25AE,2,1.html'
    try:
        for page in range(9):  # 前九页
            res = requests.get(url.format(page))
            res.encoding = 'gbk'
            if res.status_code == 200:
                soup = BeautifulSoup(res.text, 'lxml')
                t1 = soup.select('.t1 span a')  # 职位
                t2 = soup.select('.t2 a')  # 公司
                t3 = soup.select('.t3')  # 地点
                t4 = soup.select('.t4')  # 薪资
                for i in range(len(t2)):
                    job = t1[i].get('title')  # 获取职位
                    href = t2[i].get('href')  # 链接
                    company = t2[i].get('title')  # 公司
                    location = t3[i + 1].text  # 工作地点
                    salary = t4[i + 1].text  # 薪资
                    print(job + " " + company + " " + location + " " + salary + " " + href)
                    f.write(k, 0, job)
                    f.write(k, 1, company)
                    f.write(k, 2, location)
                    f.write(k, 3, salary)
                    k += 1  # 每存储一行k+1
        wb.save('招聘.csv')  # 写完后调用save方法保存
    except TimeoutError:
        print("请求失败")
        return None


if __name__ == '__main__':
    get_html()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值