Swift-使用Alamofire获取网页数据

这里对如何使用网络请求获取福大就业信息网上的内容做一个简单的记录。

一、分析策略

1、寻找网络请求URL

我们需要从福州大学就业信息网上获取数据,打开网页http://jycy.fzu.edu.cn/cms,进入Safari开发模式,查看页面资源,发现XHR中的"getDateZPHKeynoteList_month"为所需的json,复制其链接得到网络请求URL:“http://jycy.fzu.edu.cn/CmsInterface/getDateZPHKeynoteList_month”
在这里插入图片描述

2、寻找网络请求参数

为了获取该月的校招日历,需要在网络请求时附上参数,否则返回数据为空。由于对网页开发不是很熟悉,寻找这个参数花费了许多时间。最后在calendar.js文件中找到了切换月份的相关调用,得到了网络请求所需的参数dateday,其格式为YYYY/MM。

在这里插入图片描述

二、具体实现

这部分就比较简单了,只需要用Alamofire的request进行网络请求后对返回的json进行解析就可以了。

func getCalendar(_ completion: @escaping (Error?, JSON?) -> ()) {
    let url = "http://jycy.fzu.edu.cn/CmsInterface/getDateZPHKeynoteList_month"
    let nowTime = NSDate()
    let format = DateFormatter()
    format.dateFormat = "YYYY/MM"
    let dateday = format.string(from: nowTime as Date) as String
    let parameters = ["dateday":dateday]
        
    AF.request(url,method: .get,parameters: parameters)
        .responseJSON { responds in
            switch responds.result {
            case .success(let value):
                print("success")
                let json = JSON(value)
                print(json)
                completion(nil, json)
            case .failure(let error):
                print("error")
                completion(error, nil)
        }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值