ScrapeKit および Swift 書き込みプログラム

以下は、画像をクローリングするために ScrapeKit と Swift を使用して作成されたクローラー プログラムです。同時に、プロキシ コードを使用してプロキシを取得しました。

import ScrapeKit
クラス
PeopleImageCrawler: NSObject, ScrapeKit.Crawler { 
    let url: URL 
    let proxyUrl: URL 
init
    (url: URL, proxyUrl: URL) { 
        self.url = url 
        self.proxyUrl = proxyUrl 
    } 
func
    roll() -> [文字列: 任意] { 
        var image = [String]() 
        
        let html = 試してみますか? String(contentsOf: URL、エンコーディング: .utf8) 
        let doc = try? HTML(html: html、エンコーディング: .utf8) 
        
        if let imgElems = doc?.css("img") { 
            for imgElem in imgElems { 
                if let imgUrl = imgElem.attr("data-src") { 
                    image.append(imgUrl) ) 
                } 
            } 
        } 
        
        return ["images": 画像] 
    } 
} 
let
targetUrl = URL(string: "https://www.people.com.cn")! 
let proxyUrl = URL(string: "https://www.duoip.cn/get_proxy")! 
let
クローラ = PeopleImageCrawler(url: targetUrl, proxyUrl: proxyUrl) 
let result = クローラ.crawl()
プリント
(結果)

このプログラムは、まず ScrapeKit ライブラリをインポートし、次に ScrapeKit.Crawler を継承する PeopleImageCrawler というクラスを定義します。ターゲット URL とプロキシ URL を渡すための初期化メソッドが提供されます。クロール方法では、ScrapeKit ライブラリを使用して HTML ドキュメントを解析し、すべての <img> タグを検索します。見つかった場合は、画像の data-src 属性値をimages配列に追加します。最後に、画像配列を辞書のキーと値のペアとして返します。

main 関数では、targetUrl と proxyUrl を作成し、PeopleImageCrawler クラスのオブジェクトをインスタンス化します。次に、crawler.crawl() メソッドを呼び出してクロールを開始し、結果を出力します。

おすすめ

転載: blog.csdn.net/weixin_73725158/article/details/133981306