• 网页处理


    1.UIWebView的使用

    w3cschool-->Javascript-->htmldom-->html dom 参考手册-->dom document

    JavaScript代码与网页交互

    @interface ViewController ()
    <UIWebViewDelegate, UITextFieldDelegate>
    {
        UIWebView *_webView;
        UITextField *_urlTextField;
    }
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        
        //使用uiwebview 显示网页
        _urlTextField = [[UITextField alloc] initWithFrame:CGRectMake(20, 3, 280, 30)];
        _urlTextField.borderStyle = UITextBorderStyleRoundedRect;
        _urlTextField.text = @"http://www.baidu.com";
        self.navigationItem.titleView = _urlTextField;
        
        //按钮
        UIBarButtonItem *browserItem = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStylePlain target:self action:@selector(dealBrowser)];
        self.navigationItem.rightBarButtonItem = browserItem;
        
        //初始化
        _webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
        _webView.delegate = self;
        [self.view addSubview:_webView];
        
        UIBarButtonItem *controlItem = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector(dealControl)];
        self.navigationItem.leftBarButtonItem = controlItem;
    }
    -(void)dealControl
    {
        //改变图片大小
        NSString *js = @"var image = document.images[0]; image.width = 50; image.height = 50";
        [_webView stringByEvaluatingJavaScriptFromString:js];
    }
    -(void)dealBrowser
    {
        //调用loadRequest: 方法加载网页
        NSURL *url = [NSURL URLWithString:_urlTextField.text];
        [_webView loadRequest:[NSURLRequest requestWithURL:url]];
    }
    -(void)webViewDidFinishLoad:(UIWebView *)webView
    {
        //执行javascript语句
        NSString *result = nil;
        result = [_webView stringByEvaluatingJavaScriptFromString:@"document.title"];
        NSLog(@"%@",result);
        
    }

    2.解析HTML文件

    库的配置:build settings --> header search paths

    /usr/include/libxml2

    libxml2.dylib

    #import "TFHpple.h"

    //1.获取标题
        NSString *path = [[NSBundle mainBundle] pathForResource:@"index.html" ofType:nil];
        NSData *data = [[NSData alloc] initWithContentsOfFile:path];
        TFHpple *tfhpple = [[TFHpple alloc] initWithHTMLData:data];
        //上句执行完了解析就算是完成了
        
        //获取title标签
        TFHppleElement *element = [[tfhpple searchWithXPathQuery:@"/html/head/title"] firstObject];
        NSLog(@"%@,%@",element.tagName,element.text);
        
        
        //2.获取网页中所有链接
        NSArray *array = [tfhpple searchWithXPathQuery:@"//a"];
        for (TFHppleElement *e in array) {
            NSLog(@"href = %@",e.attributes[@"href"]);
        }

    3.设计模式

    设计模式:编程经验总结

    kvc 作用:解析json数据的时候将字典转换成Model

    kvo 作用:监控某个对象的某个属性变化

    mvc 作用:相对于非mvc来说,更容易拓展和复用

  • 相关阅读:
    Java编程基础
    Python开发【第十四篇】:Python操作MySQL
    MySQL(二)
    MySQL(一)
    Python之路【第五篇】:面向对象及相关
    Python开发【第四篇】:Python基础之函数
    Python开发【第三篇】:Python基本数据类型
    等保测评备案流程?备案资料有哪些?
    xls/csv文件转换成dbf文件
    csv 转换为DBF文件的方法
  • 原文地址:https://www.cnblogs.com/NFli/p/4448616.html
Copyright © 2020-2023  润新知