Swift爬虫程序

news2024/12/23 17:20:05

以下是一个简单的Swift爬虫程序,用于从前程无忧深圳地区招聘财务、会计的数据爬取数据:

import Foundation
import SwiftSoup

// 创建一个请求对象,指定代理信息
var request = URLRequest(url: URL(string: "https://www.51job.com/zh/campus/zs.html")!)
request.httpProxyHost = "jshk.com.cn"


// 创建一个请求任务对象
var task = URLSession.shared.dataTask(with: request) { data, response, error in

    // 检查是否有错误发生
    if let error = error {
        print("Error: \(error.localizedDescription)")
        return
    }

    // 检查请求是否成功
    guard let data = data else {
        print("Error: No data received")
        return
    }

    // 使用SwiftSoup解析HTML数据
    let doc = try! SwiftSoup.parse(data)

    // 获取招聘财务、会计的所有列表项
    let elements = doc.select("li[data-type='job']")
    
    // 遍历列表项,获取每个列表项的数据
    for element in elements {
        
        // 获取列表项的标题
        let title = element.select("a").text()
        
        // 获取列表项的链接
        let link = element.select("a").attribute("href")
        
        // 打印标题和链接
        print("Title: \(title)")
        print("Link: \(link)")
    }
}

// 发送请求
task.resume()

注意:这个程序只是一个基本的示例,可能需要根据实际情况进行修改。例如,可能需要处理更复杂的HTML结构,或者需要从网页中提取更复杂的数据。此外,爬虫程序可能需要遵守网站的使用协议,并且应该尽量减少对网站服务器的负载。在进行爬虫操作时,应该尊重网站的版权和隐私权,不应滥用爬虫程序进行非法或不道德的操作。在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1205823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Machine-Level Programming III:Procedure

Machine-Level Programming III:Procedure Today Procedures Mechanisms(机制)Stack StructureCalling Conventions(调用规则) Passing control(传递控制)Passing data(传递数据)Managing local data Illustration of Recursion(递归说明) 补充术语: Program 程序…

Haskell添加HTTP爬虫ip编写的爬虫程序

下面是一个简单的使用Haskell编写的爬虫程序示例,它使用了HTTP爬虫IP,以爬取百度图片。请注意,这个程序只是一个基本的示例,实际的爬虫程序可能需要处理更多的细节,例如错误处理、数据清洗等。 import Network.HTTP.Cl…

【中间件篇-Redis缓存数据库08】Redis设计、实现、redisobject对象设计、多线程、缓存淘汰算法

Redis的设计、实现 数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合),但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的…

hadoop 虚拟机配置大数据环境 hadoop(二)

1. 安装epel-release 注:Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS 和Scientific Liux。相当于是一个软件仓库,大多数rpm 包在官方repository 中是找不到的) 命令: yum install -y epel-relea…

swagger精度丢失,postman调用正常,dameng数据库,long类型字段

问题出现 我们目前在迁移环境,然后往另带一个公司提供的框架里面迁移,然后就出现了很多问题,一个问题是我们返回的某个列表数据,在使用postman 的时候调用正常,但是当前端在制作页面的时候出现问题,并且sw…

一文带你深度体验DevChat

目录 🚀DevChat基本介绍 🕍 概述 🕍 优势 🕍 功能概述 🚀DevChat的安装 🕍 安装依赖软件 🕍 VS Code安装插件 🕍 获取和设置Access Key 🕍 版本不兼容处理【BU…

Linux系统中如何开启和配置OpenGauss数据库的远程连接(1)

文章目录 前言1. Linux 安装 openGauss2. Linux 安装cpolar3. 创建openGauss主节点端口号公网地址4. 远程连接openGauss5. 固定连接TCP公网地址6. 固定地址连接测试 前言 openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合…

【python自动化】Playwright基础教程(六)事件操作③单击双击计数过滤截图JS注入

【python自动化】Playwright基础教程(六)事件操作③单击&双击&计数&过滤&截图&JS注入 本文目录 文章目录 【python自动化】Playwright基础教程(六)事件操作③单击&双击&计数&过滤&截图&JS注入playwright系列回顾前文代码点击 - click…

Git忽略文件.gitignore的使用

1.为什么使用? 当你使用git add .的时候有没有遇到把你不想提交的文件也添加到了缓存中去?比如项目的本地配置信息,如果你上传到Git中去其他人pull下来的时候就会和他本地的配置有冲突,所以这样的个性化配置文件我们一般不把它推送到git服务…

arcgis--消除坐标系信息的两种方法

方法一:在【目录】中右击待修改数据,选择【属性】,选择【XY坐标】选项卡,点击清楚按钮。 方法二:在【数据管理工具】-【投影与变换】-【定义投影】中清楚坐标系信息。如下:

每日一题:逆波兰表达式求值(后缀表达式)

这个题比较难理解的就是逆波兰表达式是什么东西,上面我贴了定义,这个题本身不难,只需要运用迭代器逐个访问,当为数字是存入栈中,是算符时就要取数出来进行运算,先取出的是右操作数,取出来以后用…

【done】剑指offer46_new:解密数字

题目:力扣165,https://leetcode.cn/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/description/ 现有一串神秘的密文 ciphertext,经调查,密文的特点和规则如下: 密文由非负整数组成 数字 0-25 分别对应字母 a-z 请…

Arthas(阿尔萨斯)--(二)

目录 一、Arthas学习 1、JVM相关命令一 1、dashboard 2、thread 3、jvm 4、sysprop 一、Arthas学习 Arthas(阿尔萨斯)--(一) Arthas代码开源地址 1、JVM相关命令一 1、dashboard dashboard:显示当前系统的实时数据面板,按q或ctrlc退出 ID: Java 级别的线…

自定义Graph Component:1.2-其它Tokenizer具体实现

本文主要介绍了Rasa中相关Tokenizer的具体实现,包括默认Tokenizer和第三方Tokenizer。前者包括JiebaTokenizer、MitieTokenizer、SpacyTokenizer和WhitespaceTokenizer,后者包括BertTokenizer和AnotherWhitespaceTokenizer。 一.JiebaTokenizer   Ji…

IDEA 2022创建Spring Boot项目

首先点击New Project 接下来: (1). 我们点击Spring Initializr来创建。 (2). 填写项目名称 (3). 选择路径 (4). 选择JDK------这里笔者选用jdk17。 (5). java选择对应版本即可。 (6). 其余选项如无特殊需求保持默认即可。 然后点击Next。 稍等一会&#xff0c…

RK3568平台开发系列讲解(Linux系统篇)Linux内核定时器详解

🚀返回专栏总目录 文章目录 一、系统节拍率二、内核定时器简介三、内核定时器API四、延时函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、对于我们驱动编写者来说最常用的定时器。硬件定…

敏感数据是什么?包含哪些?如何保障安全?

最近看到不少小伙伴在问,敏感数据是什么?包含哪些?如何保障安全?这里我们小编就给大家一一解答一下,仅供参考哦! 敏感数据是什么? 敏感数据,是指泄漏后可能会给社会或个人带来严重危…

2023亚太杯数学建模ABC题思路汇总分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料5 最后 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 2023年第十三…

新能源汽车三电系统上的VDA接口在操作空间有限时如何快速密封与连接

针对新能源汽车三电系统上的VDA接口的快速密封与连接,格雷希尔GripSeal快速接头有其对应的G90系列,但随着现在有些新能源汽车体型越来越小,其三电系统的体积也越来越小,相对应的它们各个接口之间的距离也就越来越近,其…

Find My冲浪板|苹果Find My技术与冲浪板结合,智能防丢,全球定位

冲浪板就是冲浪运动中必不可少的器材之一。冲浪板是一块能够承受波浪抛掷的器材,通常由泡沫材质制成,也有一些采用其他材质制成的高档板。冲浪板不仅能够帮助人们在波浪中快速滑行,还能提供重心支撑和掌控波浪的稳定性。电动冲浪板是一种新型…