前程无忧爬虫实战(通过输入关键字爬取任意职位并自动保存为.csv文本)

python爬虫爬取-前程无忧-岗位信息 打开前程无忧网站,打开,进行抓包先刷新一遍,然后直接关键字找到这个文件这些就是岗位信息直接访问这个接口,就可以获取这些信息点击查看url里timetamp是一个还有请求标头这个是一个需要(但是本人还不会)用库来访问把url和请求标头写上然后用方法进行访问查看返回的信息,没有问题成功拿到信息接下来就是把关键信息提取出来岗位信息在列表里先把所有的列表提取出来然后再在列表里循环提取关键信息dit = {}# 工作岗位# 薪资# 位置# 工作经验# 学历。 阅读详情

![0e644a1fa9dc00c3e7c752bdf4382aa2.jpg](https://upload-images.jianshu.io/upload_images/9136378-72ab92577ff68f7d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#这里只分析主要的思路和要注意的点。有什么不懂的可以评论提问,研究给出的代码理解。
##1.通过在前程无忧上面输入关键字搜索可以发现,前程无忧的数据不是ajax加载的,是普通的一个get请求,只需要构造url发送请求,编写解析的规则就可以了,这里推荐采用xpath编写解析的规则。解析这些非结构性的数据首先考虑xpath,xpath不行的话就用正则。获取最大爬取页码数据只需要通过xpath定位那个最大页数就可以了,然后把那个数字提取出来,在写个if判断。

2.代码的实现如下
 

#_author:'DJS'
#date:2018-11-19

import csv
import re

import requests
from lxml import etree
headers = {
    "cache-control": "no-cache",
    "postman-token": "72a56deb-825e-3ac3-dd61-4f77c4cbb4d8",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36",

}
def get_url(key1):
    try:
        i=0
        url = "https://search.51job.com/list/030800%252C040000%252C030200,000000,0000,00,9,99,{},2,1.html"
        response = requests.get(url.format(key1), headers=headers)
        html = etree.HTML(response.content.decode('gbk'))
        max_page =int("".join(re.findall('(\d+)',"".join(html.xpath("//span[@class='td']/text()")))))
        while True:
            i+=1
            url = "https://search.51job.com/list/030800%252C040000%252C030200,000000,0000,00,9,99,{},2,{}.html"
            url = url.format(key1,i)
            print("*"*100)
            print("正在爬取第%d页" % i)
            print("*"*100)
            yield url
            #print("正在爬取%d页"%i)
            if max_page == i:
                break
    except:
        print("获取不到链接,已处理")

def pase_page(key1):
    try:
        for i in get_url(key1):
            url = i
            #print(url)
            response = requests.get(url,headers=headers)
            html = etree.HTML(response.content.decode('gbk'))  # 解码成gbk后输出,请求的是gbk,但是python默认的是
            #输出的是utf-8,所以把utf-8解码成gbk就可以输出了,这样请求和输出就一样了,decode 相当于输出
            #编码的输入和输出要一致。
            lists = html.xpath("//div[@id='resultList']//div[@class='el']")
            for list in lists:
                item = {}
                item["职位"] = "".join(list.xpath("./p/span/a/text()")).replace('\r\n', '').replace(' ', '')
                item["公司名称"] = "".join(list.xpath("./span[@class='t2']/a/text()")).replace('\r\n', '').replace(' ', '')
                item["工作地点"] = "".join(list.xpath("./span[@class='t3']/text()")).replace('\r\n', '').replace(' ', '')
                item["薪资"] = "".join(list.xpath("./span[@class='t4']/text()")).replace('\r\n', '').replace(' ', '')
                item["发布时间"] = "".join(list.xpath("./span[@class='t5']/text()")).replace('\r\n', '').replace(' ', '')
                yield item
    except:
        print("返回数据异常,已处理")

def save_excel(key1):
    try:
        header = ['职位', '公司名称', '工作地点', '薪资', '发布时间']
        with open(key1+'前程无忧职位信息.csv', 'w', newline='') as f:  # w是写入
            # 标头在这里传入,作为第一行数据
            writer = csv.DictWriter(f, header)
            writer.writeheader()
        for i in pase_page(key1):
            item = i
            header = ['职位', '公司名称', '工作地点', '薪资', '发布时间']
            with open(key1+'前程无忧职位信息.csv', 'a', newline='') as f:  # a是追加
                writer = csv.DictWriter(f, header)
                writer.writerow(item)
                #print(item)
    except:
        print("保存数据异常,已处理")

if __name__ == '__main__':
    key1 = input('请输入要爬取的职位:')
    save_excel(key1)


 

Python爬虫 requests+beautifulsoup爬取数据教程及爬取商品数据实战 网络爬虫(又称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 前言 最近接到了个爬取一些网站积分商品数据的需求,学习了一下爬虫的知识。为了避免以后忘记,特写一篇文章来总结一下,也希望能帮到对爬虫有兴趣的同学。本文将从爬取网站商品数据的需求入手,详细介绍如何爬取网页的数据以及将爬取到的数据写入到CSV文件中。本文爬取的是静态网页,爬取动态网页的教程欢迎查看另一篇文章(暂时还没有写。。写了会贴出来),分辨静态网页和动态网页的方法在下文实战-浏览器检查网页中。 安装 本文. 阅读详情

相关推荐

进阶爬虫实战1:自动化爬取招聘网站职位信息

如何使用DrissionPage库实现自动化爬取

wjylovewjy的博客 1394

(详细)python爬取网页信息并保存为CSV文件(后面完整代码!!!)

本次爬取的网页是猎聘网内关于深圳的所有招聘信息,一共400多个职位,并保存为csv文件存储,好了,话不多说,开始进入讲解。(对爬虫感兴趣的,可以参考此篇文章的做法去爬你想要的网站去吧!!!) 首先打开目标网站: https://www.liepin.com/zhaopin/?compkind=&dqs=050090&pubTime=&pageSize=40&salary=&compTag=&sortFlag=&compIds=&subIn

guihua55的博客 2万+

python使用正则表达式re 爬取前程无忧招聘网数据 并保存为txt或csv中

目标网站:前程无忧招聘网 目标网址:https://search.51job.com/list/120000,000000,0000,00,9,99,Python,2,1.html 目标数据:(1)职位名(2)公司名(3)工作地点(4)薪资 (5)发布时间 任务要求 (1)使用urllib或requests库实现该网站网页源代码的获取,并将源代码进行保存; (2)自主选择re、bs4、lxml中...

handuoduo123的博客 2451

用python爬取前程无忧网,看看我们是否真的“前程无忧”?

作者:旧时晚风拂晓城公众号:凹凸数据The best time to plant a tree was 10 years ago,the second best time is now....

zhuxiao5的博客 1950

Python 爬虫实战案例 - 获取拉勾网招聘职位信息

本文通过详细步骤展示了如何使用Python爬取拉勾网的职位招聘信息。我们使用了requests、BeautifulSoup、csv等常见库完成拉勾网数据的抓取、解析与存储,并且介绍了如何处理反爬虫机制、分页问题以及数据存储。在享受爬虫技术带来便利的同时,务必铭记要遵循网站规则。合理设置爬取频率,模拟真实用户行为,不恶意冲击服务器;尊重网站的 robots.txt 协议,不越界访问禁止区域。只有如此,才能确保爬虫技术在合法合规的轨道上稳健前行,实现数据获取与网站运营的和谐共生。

m0_54850303的博客 1840

招聘网站分析-前程无忧网站的爬虫设计与实现

爬取文件 原理: 1.需求分析 前程无忧招聘网没有设计反爬虫策略,只需要利用开发者工具分析出页面的数据来源和分页规律即可。前程无忧招聘网职位搜索列表页和详情页如图所示。 2.爬虫数据存储设计 对于爬虫来说,最重要的是爬取下来的数据,所以爬虫项目在开发前需要考虑数据的保存格式以及保存的数据项。前期预估网站爬取的数据在 10 万以内,数据量较小,所以考虑采用 CSV 等文本格式或 MySQL 数据库进行存储。 如果采用 CSV 文本格式进行存储,在数据清洗前还要考虑数据合并。 结合需求分析中的数据分析目标,

weixin_45044349的博客 2564

2024爬虫 用selenium 爬取 51job(前程无忧)代码

最近想要练习一下爬虫,但是打开51job的页进行操作发现,地址基本不怎么变化,不太容易提取url地址,发现无论是搜索 java 还是 python 地址是不变的,点击页码地址也不会变化。所以用操作地址的爬虫框架就不太容易操作了,下面是使用selenium爬取51job的具体流程,代码部分几乎每一行都有注释。

weixin_59178068的博客 6523

python bs4 csv requests 爬虫 爬取携程火车票网址信息并保存

目的:爬取携程网址 火车 中的单程与中转 单程 url=“https://trains.ctrip.com/trainbooking/search?tocn=%25e5%258d%2583%25e5%25b2%259b%25e6%25b9%2596&fromcn=%25e6%259d%25ad%25e5%25b7%259e&day=2020-12-31” 中转 url=“https://trains.ctrip.com/pages/booking/hubSingleTrip?ticketTy

qq_51804522的博客 3207

搜索关键字爬取前程无忧职位信息,保存至csv文件,并进行数据清洗,可视化(数据清洗+可视化篇)

搜索关键字爬取前程无忧职位信息,保存至csv文件,并进行数据清洗,可视化(数据清洗+可视化篇)一、 数据清洗+可视化篇1.代码部分(pandas+pyecharts)2.可视化结果 一、 数据清洗+可视化篇 1.代码部分(pandas+pyecharts) 以下代码包含数据清洗和可视化内容 (1)工资与学历关系: #!/usr/bin/env python # _*_ coding:utf-8 _*_ # # @Version : 1.0 # @Time : xxx # @Author : xxx

me_1984的博客 6317

python爬取前程无忧网并保存数据库

目标网站:前程无忧招聘网 目标网址:https://search.51job.com/list/120000,000000,0000,00,9,99,Python,2,1.html 目标数据:(1)职位名(2)公司名(3)工作地点(4)薪资 (5)发布时间 下面展示代码 运行此代码的前提是您的数据库中创建一个spiders库。 那段代码被我不小心删掉了,嘻嘻。 有需要的话请留言,有时间会补上 ...

handuoduo123的博客 1116

新手初试python爬取51job(前程无忧)的职位信息

目标: 搜索关键字:数据分析 地点: 北上广深 URL:https://search.51job.com/list/010000%252C020000%252C030200%252C040000,000000,0000,01,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590,2,1.html?lang=c&...

qq_42533103的博客 2555

Python 网络爬虫实战:爬取 B站《全职高手》20万条评论数据

本周我们的目标是:B站(哔哩哔哩弹幕网 https://www.bilibili.com )视频评论数据。 我们都知道,B站有很多号称“镇站之宝”的视频,拥有着数量极其恐怖的评论和弹幕。所以这次我们的目标就是,爬取B站视频的评论数据,分析其为何会深受大家喜爱。 首先去调研一下,B站评论数量最多的视频是哪一个。。。好在已经有大佬已经统计过了,我们来看一哈! 【B站大数据可视化】B站评论数...

亮出锋芒,剑指苍穹 2万+

[Python从零到壹] 七.网络爬虫之Requests爬取作者个人博客网站及CSV存储

前一篇文章讲述了 BeautifulSoup 爬取豆瓣TOP250电影,通过案例的方式让大家熟悉Python网络爬虫。这篇文章将详细讲解Requests库爬取个人博客信息,并存储至CSV文件。该案例非常适合入门的案例,也能普及简单的预处理知识。 希望对您有所帮助,本文参考了作者优快云的文章和学生杨友的博客,从学生的角度实现网络爬虫,可能对读者更友好。

杨秀璋的专栏 1万+

爬虫入门—网页信息爬取

网络协议抓包分析与爬虫入门一、爬虫简介1.概念2.类型3.使用范围4.合法性5.搜索策略6.基本结构二、环境准备三、爬取南阳理工学院ACM题目网站四、爬取重庆交通大学新闻网站参考 一、爬虫简介 1.概念 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 2.类型 网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Pur

qq_30593663的博客 5227

Python爬虫:如何爬取招聘网站(前程无忧/猎云网)职位信息与公司数据

通过本文,我们展示了如何使用 Python 爬取前程无忧和猎云网的职位招聘信息,爬取过程包括了如何模拟请求、解析网页数据、处理分页等技术。使用爬虫抓取招聘数据,为我们分析行业趋势、职位市场提供了丰富的素材。我们还可以根据需要进一步优化爬虫,例如加入异常处理、提高并发爬取效率、使用代理池避免被封 IP 等。

2201_76125261的博客 1538

基于Python的招聘网站数据爬取与岗位分析系统

本研究设计并实现了一个基于Python的招聘网站数据爬取与岗位分析系统,旨在构建一个集"信息整合-精准匹配-趋势洞察"于一体的智能化平台。本研究的核心目的是通过大数据技术实现招聘数据的自动化采集、清洗、分析与可视化,以提升招聘市场的透明度和匹配效率。系统采用多层次架构:首先,利用Scrapy框架构建分布式爬虫,从主流招聘平台(如Boss直聘、前程无忧)自动化采集岗位信息,涵盖职位名称、薪资范围、学历要求、技能需求、企业类型及地域分布等字段,并通过代理池和请求频率控制规避反爬机制;其次,基于Pandas库对原始数据进行清洗和处理,包括去重、缺失值填充、文本标准化(如技能关键词提取),并存储至MySQL数据库以支持高效查询;进而,通过大数据分析引擎(如PySpark)进行多维度统计挖掘,包括薪资分布分析、技能需求频率计算、地域差异比较等,并引入机器学习模型增强预测能力:其中,薪资预测模块采用随机森林算法或XGBoost回归模型,以职位类别、地区、学历、工作经验、技能组合为特征,训练预测不同岗位的薪资水平(如平均薪资或区间输出),而技能关联分析则基于Apriori算法挖掘潜在技能组合需求(如Python与机器学习技能的频繁共现);最后,通过Pyecharts库构建交互式可视化看板,展示热力图(岗位分布)、折线图(薪资趋势)、词云图(技能需求)等,支持用户按行业、经验、学历等下钻分析。 【文章内容】 摘要 第1章 绪论 第2章 相关技术与理论 第3章 系统需求分析 第4章 系统总体设计 第5章 系统详细设计与实现 第6章 系统测试与分析 第7章 总结与展望 参考文献 附件-实现指南

实战|手把手教你用Python爬虫(附详细源码)

实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就…首先,咱先看下爬虫的定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。一句话概括就是网上信息搬运工。

m0_59162248的博客 1万+

Agent 操作系统:未来的 Harness 平台

在大模型技术爆发的当下,自主智能体(Agent)已经成为AI原生应用的核心载体,但当前Agent开发面临着碎片化严重、运维难度高、规模化落地难三大核心痛点,就像1970年代没有通用操作系统的裸机编程时代,开发者需要重复造轮子解决底层基础设施问题。本文将深度解析Agent操作系统(Agent OS)作为AI原生时代的底层基础设施的核心定位,以及下一代Harness平台如何将Agent OS与成熟的DevOps、CI/CD、可观测性、成本管理能力深度融合,成为AI原生应用全生命周期管理的统一平台。

软件工程实践的博客 278

Python利用Scrapy爬取前程无忧

** Python利用Scrapy爬取前程无忧招聘信息 ** 一、爬虫准备 Python:3.x Scrapy PyCharm 二、爬取目标 爬取前程无忧的职位信息,此案例以Python为关键词爬取相应的职位信息,通过Scrapy来爬取相应信息,并将爬取数据保存到csv文件中。 三、爬取步骤 1.创建一个新的爬虫项目。 2.定义我们要爬取的内容item类 import scrapy class...

weixin_43463575的博客 1288

理解ADC:为什么需要抗混叠滤波器?

本文介绍 ADC 的混叠现象,引出抗混叠滤波器,并介绍一种开关电容滤波器,它具有很小的增益过渡带。

疯狂的运放 5939

windows的rancherDesktop修改镜像源

Rancher Desktop中的“Allowed Images”功能(通常在 Preferences -> Container Engine -> Allowed Images 中找到)是用来定义一个允许拉取和推送的镜像列表的规则,例如,只允许从您组织或特定的受信任的仓库中获取镜像。如果问题依旧,请提供您Rancher Desktop的版本和当前选择的容器运行时,以便进一步协助。总结一下,对于Windows上的Rancher Desktop,如果您使用默认的。,镜像源的配置通常通过一个名为。

zwjapple的专栏 2695
上一篇: 拉勾爬虫实战(通过输入关键字爬取任意职位并自动保存为.csv文本)
下一篇: Python函数定义及传参方式
djs123DJS
博客等级 码龄9年 49粉丝 137原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值