如何在iOS中執行網頁抓取技術。 任何參考/示例程序都會有所幫助。 在此先感謝。在iOS中抓取網頁
網絡抓取
web爬行器(也被稱爲網絡蜘蛛或web機器人)是一個程序或自動腳本,瀏覽萬維網在有條不紊,自動化的方式。這個過程被稱爲Web爬行或蜘蛛抓取。許多合法網站,特別是搜索引擎,都使用蜘蛛作爲提供最新數據的手段。
如何在iOS中執行網頁抓取技術。 任何參考/示例程序都會有所幫助。 在此先感謝。在iOS中抓取網頁
網絡抓取
web爬行器(也被稱爲網絡蜘蛛或web機器人)是一個程序或自動腳本,瀏覽萬維網在有條不紊,自動化的方式。這個過程被稱爲Web爬行或蜘蛛抓取。許多合法網站,特別是搜索引擎,都使用蜘蛛作爲提供最新數據的手段。
一般來說,iOS不適合Web爬網,因爲它對於程序員來說不太容易靈活。
但是,如果你想,這是可能的。基本上你會使用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
然後,您將需要存儲您的數據。我建議你使用在線數據庫。如果沒有,你可以使用FMDatabase將數據存儲到你的iOS設備或者只是SQLite
我已經使用DIFFBOT在iOS中進行網頁爬行。該網站提供API用於不同的目的,如產品,分析頁面或文章。它配備了14天的免費試用版。下面是一個產品網頁抓取代碼:
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
格式的到來。確保URL的格式爲URLencoded
。在這裏我使用自定義類來觸發請求。您可以使用nsurl
會話或連接來完成此操作。
什麼是*「系統默認方法」*? – Jamil
系統默認方法= NSURLSession&NSURLRequest –