如何在中实现爬行技术。任何参考/样例程序都会有帮助。提前谢谢。
网络爬行
网络爬虫(也称为网络蜘蛛或网络机器人)是一种程序或自动脚本,它以一种有条不紊、自动化的方式浏览万维网。这个过程称为Web爬行或爬行。许多合法的网站,特别是搜索引擎,都将蜘蛛作为提供最新数据的一种手段。
发布于 2015-12-15 06:18:26
一般来说,iOS不适合网络爬行,因为它对程序员来说不容易灵活。
但如果你愿意,这是可能的。基本上,您将使用AFNetworking (或Alamofire,或系统默认方法)发送web请求。得到响应后,分析文本,主要是使用正则表达式。例如,您可以为NSString编写一个类别:
@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设备中。
发布于 2017-08-14 11:53:03
我使用迪夫特在iOS中进行网络爬行。该站点为产品、分析页面或文章等不同目的提供API。它还有14天的免费行程。下面是产品web爬行的代码:
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会话或连接来做到这一点。
https://stackoverflow.com/questions/34282153
复制相似问题