首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS中的Web爬行

iOS中的Web爬行
EN

Stack Overflow用户
提问于 2015-12-15 06:04:37
回答 2查看 2.3K关注 0票数 0

如何在中实现爬行技术。任何参考/样例程序都会有帮助。提前谢谢。

网络爬行

网络爬虫(也称为网络蜘蛛或网络机器人)是一种程序或自动脚本,它以一种有条不紊、自动化的方式浏览万维网。这个过程称为Web爬行或爬行。许多合法的网站,特别是搜索引擎,都将蜘蛛作为提供最新数据的一种手段。

EN

回答 2

Stack Overflow用户

发布于 2015-12-15 06:18:26

一般来说,iOS不适合网络爬行,因为它对程序员来说不容易灵活。

但如果你愿意,这是可能的。基本上,您将使用AFNetworking (或Alamofire,或系统默认方法)发送web请求。得到响应后,分析文本,主要是使用正则表达式。例如,您可以为NSString编写一个类别:

代码语言:javascript
运行
复制
@implementation NSString(StringRegular)

-(NSMutableArray *)substringByRegular:(NSString *)regular{

    NSString *reg=regular;
    NSRange r = [self rangeOfString:reg options:NSRegularExpressionSearch];
    NSMutableArray *arr=[NSMutableArray array];

    if (r.length != NSNotFound &&r.length != 0) {

        int i=0;

        while (r.length != NSNotFound &&r.length != 0) {

            NSString* substr = [self substringWithRange:r];
            [arr addObject:substr];
            NSRange startr=NSMakeRange(r.location+r.length, [self length]-r.location-r.length);
            r=[self rangeOfString:reg options:NSRegularExpressionSearch range:startr];
        }
    }
    return arr;
}
@end

然后,您需要存储数据。我建议您使用在线数据库。如果没有,则可以使用iOS或简单的SQLite将数据存储到您的SQLite设备中。

票数 2
EN

Stack Overflow用户

发布于 2017-08-14 11:53:03

我使用迪夫特在iOS中进行网络爬行。该站点为产品、分析页面或文章等不同目的提供API。它还有14天的免费行程。下面是产品web爬行的代码:

代码语言:javascript
运行
复制
let url = "https://api.diffbot.com/v3/product?token=YOURTOKEN&url=TheUrlWhichYouwantToSearchinURLENCODEDFORMAT"
let requestUrl = RequestHandlerToken(url: url, withPostMethod: false)
requestUrl.startRequest { (response, error) in
    print(response)
    self.parseData(resp: response)
}

响应将以JSON格式出现。确保网址是URLencoded格式的。这里,我使用自定义类来访问请求。您可以通过使用nsurl会话或连接来做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34282153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档