基于Python的51job(前程无忧)招聘网站数据采集,通过selenium绕过网站反爬,可以采集全国各地数十万条招聘信息

简介: 本文介绍了一个使用Python和Selenium库实现的51job(前程无忧)招聘网站数据采集工具,该工具能够绕过网站的反爬机制,自动化登录、搜索并采集全国各地的招聘信息,将数据保存至CSV文件中。

使用Python编程语言和Selenium库来实现自动化的网页操作,从而实现登录、搜索和爬取职位信息的功能。

首先,导入了所需的库,包括time用于处理时间,selenium用于模拟浏览器操作,csv用于写入CSV文件,BeautifulSoup用于解析网页数据。然后,定义了一个名为login的函数,该函数接受一个WebDriver对象和一个关键词作为参数。

在login函数中,使用WebDriver对象打开51job网站,并通过模拟用户的行为进行登录操作。登录过程中需要输入关键词并点击搜索按钮。然后,使用BeautifulSoup库解析页面源代码,找到包含职位信息的HTML元素,并逐个提取出岗位名、公司、薪资、城市、区县、行业、标签、性质、企业人数和回复等信息。将提取的信息存储在一个列表中,并通过csv库将列表中的数据写入到CSV文件中。

在主函数main中,配置了Chrome浏览器的启动选项,并创建了一个WebDriver对象。接下来,代码循环遍历不同的城市列表,在每个城市中调用login函数进行登录和职位信息的爬取。

代码的运行过程是自动化的,通过模拟浏览器操作来实现登录和搜索功能,然后从搜索结果中提取所需的职位信息,并将其保存到CSV文件中。使用Selenium库可以实现与浏览器相同的操作,包括点击按钮、输入文本、滚动页面等。

主要代码如下:

def main():
    # while True:
        """
        chromeOptions 是一个配置 chrome 启动是属性的类,就是初始化
        """
        option = webdriver.ChromeOptions()
        """
        add\_experimental\_option 添加实验性质的设置参数
        """
        option.add\_experimental\_option('excludeSwitches', \['enable-automation'\])  # webdriver防检测
        '''
        add\_argument 添加启动参数
        '''
        # option.add\_argument("--disable-blink-features=AutomationControlled")
        # option.add\_argument("--no-sandbox")
        # option.add\_argument("--disable-dev-usage")
        # option.add\_experimental\_option("prefs", {"profile.managed\_default\_content\_settings.images": 2})#不加载图片
        """
        Chrome 配置驱动
        """
        driver = webdriver.Chrome(executable\_path='chromedriver.exe',options=option)
        driver.set\_page\_load\_timeout(15)
        list0=\[\['guangzhou', '广州'\], \['shanghai', '上海'\], \['shenzhen', '深圳'\], \['changsha', '长沙'\],\['chongqing','重庆'\]\]
        for k in list0:
            login(driver,k)
            time.sleep(15)
        # driver.set\_page\_load\_timeout(15)

        # jugesd(driver)
if \_\_name\_\_ == '\_\_main\_\_':
    headers = {
        'User-Agent':'你的user-agent',
    'Cookie':'你的cookie(一定要登录,不然久不久就会反爬验证)'}
    main()
AI 代码解读

完整代码可联系我,白嫖勿扰

目录
打赏
0
1
1
1
92
分享
相关文章
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
本文以反面教材形式,剖析了在使用 Playwright 爬取懂车帝车友圈问答数据时常见的配置错误(如未设置代理、Cookie 和 User-Agent),并提供了 Python、Java 和 .NET 三种语言的修复代码示例。通过错误示例 → 问题剖析 → 修复过程 → 总结教训的完整流程,帮助读者掌握如何正确配置爬虫代理及其它必要参数,避免 IP 封禁和反爬检测,实现高效数据采集与分析。
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
把Postman调试脚本秒变Python采集代码的三大技巧
本文介绍了如何借助 Postman 调试工具快速生成 Python 爬虫代码,并结合爬虫代理实现高效数据采集。文章通过“跨界混搭”结构,先讲解 Postman 的 API 调试功能,再映射到 Python 爬虫技术,重点分享三大技巧:利用 Postman 生成请求骨架、通过 Session 管理 Cookie 和 User-Agent,以及集成代理 IP 提升稳定性。以票务信息采集为例,展示完整实现流程,探讨其在抗封锁、团队协作等方面的价值,帮助开发者快速构建生产级爬虫代码。
把Postman调试脚本秒变Python采集代码的三大技巧
Playwright多语言生态:跨Python/Java/.NET的统一采集方案
随着数据采集需求的增加,传统爬虫工具如Selenium、Jsoup等因语言割裂、JS渲染困难及代理兼容性差等问题,难以满足现代网站抓取需求。微软推出的Playwright框架,凭借多语言支持(Python/Java/.NET/Node.js)、统一API接口和优异的JS兼容性,解决了跨语言协作、动态页面解析和身份伪装等痛点。其性能优于Selenium与Puppeteer,在学术数据库(如Scopus)抓取中表现出色。行业应用广泛,涵盖高校科研、大型数据公司及AI初创团队,助力构建高效稳定的爬虫系统。
Playwright多语言生态:跨Python/Java/.NET的统一采集方案
基于python的租房网站-房屋出租租赁系统(python+django+vue)源码+运行
该项目是基于python/django/vue开发的房屋租赁系统/租房平台,作为本学期的课程作业作品。欢迎大家提出宝贵建议。
83 6
如何根据目标网站调整Python爬虫的延迟时间?
如何根据目标网站调整Python爬虫的延迟时间?
打造高效的Web Scraper:Python与Selenium的完美结合
本文介绍如何使用Python结合Selenium,通过代理IP、设置Cookie和User-Agent抓取BOSS直聘的招聘信息,包括公司名称、岗位、要求和薪资。这些数据可用于行业趋势、人才需求、企业动态及区域经济分析,为求职者、企业和分析师提供宝贵信息。文中详细说明了环境准备、代理配置、登录操作及数据抓取步骤,并提醒注意反爬虫机制和验证码处理等问题。
110 1
打造高效的Web Scraper:Python与Selenium的完美结合
Python爬虫实战:一键采集电商数据,掌握市场动态!
这个爬虫还挺实用,不光能爬电商数据,改改解析规则,啥数据都能爬。写爬虫最重要的是要有耐心,遇到问题别着急,慢慢调试就成。代码写好了,运行起来那叫一个爽,分分钟几千条数据到手。
python语言采集淘宝商品详情数据,json数据示例返回
通过淘宝开放平台的API接口,开发者可以轻松获取商品详情数据,并利用这些数据进行商品分析、价格监控、库存管理等操作。本文提供的示例代码和JSON数据解析方法,可以帮助您快速上手淘宝商品数据的采集与处理。

推荐镜像

更多