Swift爬虫程序

news/2024/7/19 10:50:18 标签: swift, 爬虫, 开发语言

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

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.niftyadmin.cn/n/5178431.html

相关文章

Cnyunwei

运维管理系统:监控系统 Cnyunwei Centos 6 封装 Cacti、Nagios、Centreon(中英文自己切换)、Check_MK、Nconf英文版本全部采用与国外官方同步的最新版本,会发布32位和64位两个版本。 安装很简单,直接回车即可全自动安…

GEE教程——将多段线按照等距离分割,并且分别获取每个线段上的点形成一个矢量集合

简介: 我正在寻找一种沿直线采样但沿几何形状统一的方式采样的方法最佳情况下,我提供一个值 n,即点的数量,它们将沿线分布。 这里主要的问题就是我们需要获取线段指定线段的点,这里就是获取整个线段的长度,然后根据线段的长度进行等距离分割,并且设定指定的步长,然后…

【微软技术栈】C#.NET 中的泛型

本文内容 定义和使用泛型泛型的利与弊类库和语言支持嵌套类型和泛型 借助泛型&#xff0c;你可以根据要处理的精确数据类型定制方法、类、结构或接口。 例如&#xff0c;不使用允许键和值为任意类型的 Hashtable 类&#xff0c;而使用 Dictionary<TKey,TValue> 泛型类并…

Linux 性能调优之内核可调参数优化

写在前面 考试整理相关笔记博文内容没有涉及具体应该调整哪些内核参数简单介绍了调整内核参数的方式&#xff0c;proc 和 sys 的简单说明理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&a…

让AI拥有人类的价值观,和让AI拥有人类智能同样重要

编者按&#xff1a;2023年是微软亚洲研究院建院25周年。25年来&#xff0c;微软亚洲研究院探索并实践了一种独特且有效的企业研究院的新模式&#xff0c;并以此为基础产出了诸多对微软公司和全球社会都有积极影响的创新成果。一直以来&#xff0c;微软亚洲研究院致力于创造具有…

如何通过把setTimeout异步转为同步

一.封装定时器函数 function delayed(time){return new Promise((resolve,reject)>{setTimeout( () > {resolve(time)}, time);}) }二调用的时候通过async await 修饰 async function demo() {console.log(new Date().getMinutes(): new Date().getSeconds())await del…

聚观早报 |滴滴发布Q3财报;小鹏G9连续销量排行第一

【聚观365】11月14日消息 滴滴发布Q3财报 小鹏G9连续销量排行第一 XREAL双11实现7倍增长 真我GT5 Pro真机图 2024年智能手机AI功能竞争激烈 滴滴发布Q3财报 滴滴在其官网发布2023年三季度业绩报告。报告显示&#xff0c;三季度滴滴实现总收入514亿元&#xff0c;同比增长…

【GlobalMapper精品教程】064:点云提取(按范围裁剪)

本文讲解Globalmapper中进行点云数据提取(按范围裁剪)的方法。 文章目录 一、加载点云及范围数据二、点云裁剪三、注意事项一、加载点云及范围数据 加载配套实验数据包中的实验数据data064.rar中的point.las点云与bound.shp面状范围数据,如下图所示: 二、点云裁剪 接下来…