基于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()

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

相关文章
|
4月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
4月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
7月前
|
数据采集 Web App开发 数据可视化
Python爬虫分析B站番剧播放量趋势:从数据采集到可视化分析
Python爬虫分析B站番剧播放量趋势:从数据采集到可视化分析b
|
7月前
|
JSON API 数据格式
Python采集京东商品评论API接口示例,json数据返回
下面是一个使用Python采集京东商品评论的完整示例,包括API请求、JSON数据解析
|
7月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
891 0
|
7月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
4月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
607 2
|
5月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
4月前
|
数据采集 自然语言处理 数据可视化
Python爬取B站视频评论区情感分析:从数据采集到价值挖掘
B站作为年轻人聚集地,评论蕴含丰富情感与趋势。本文详解如何用Python爬取评论,结合SnowNLP与jieba进行中文情感分析,并通过可视化挖掘用户情绪、消费意愿与内容反馈,助力精准运营与决策。
769 0
|
5月前
|
SQL 测试技术 数据库
healenium+python+selenium
上次介绍了如何利用healenium+java+selenium来实现selenium的自愈,这次介绍如何healenium+python+selenium。关于healenium+python+selenium网上资料更少,并且甚至是错误的。在著名的书籍《软件测试权威指南中》也是有一定问题的。现在介绍如下
270 4

推荐镜像

更多