Веб-сканирование в iOS
Как реализовать технологию веб-сканирования в iOS. Любая справочная / примерная программа поможет. Заранее спасибо.
Веб-сканирование
Сканер (также известный как веб-паук или веб-робот) - это программа или автоматический скрипт, который методично и автоматически просматривает Всемирную паутину. Этот процесс называется веб-сканирование или паутинга. Многие легальные сайты, в частности поисковые системы, используют паук в качестве средства предоставления актуальных данных.
2 ответа
Как правило, iOS не подходит для веб-сканирования, потому что это не так просто для программистов.
Но если вы хотите, это возможно. В основном вы будете использовать AFNetworking (или Alamofire, или метод System default) для отправки веб-запросов. Получив ответ, проанализируйте текст, в основном с помощью регулярных выражений. Например, вы можете написать категорию для 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 с помощью FMDatabase или просто 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
сеанс или соединение.