2017-09-15 11 views
0

現在、KannaとSwiftを使用してwebsiteの画像リンクを解析しようとしています。ウェブサイトから画像ソースを取得する方法 - Swift&Kanna

ただし、doc.cssまたはdoc.xcpathを使用しようとすると機能しません。私はタイトルと日付を解析するためにdoc.cssを使用しましたが、イメージソースをどのように解析できるかはわかりません。可能であれば、自分の答えにUIImageView(IBOutletによってリンクされている)で画像リンクを使用する方法を含めることができれば幸いです。

以下は私が試したコードです。また、ウェブサイト自体のinspect要素の機能のスニペットもあります。

func parseHTML(html: String) -> Void { 
     if let doc = Kanna.HTML(html: html, encoding: String.Encoding.utf8) { 

      for link in doc.xpath(".//div[@class='loop-thumb'/a[1]/img[1]]") { 

       print(link.text)//where I am trying to get the image source 
       self.imageURLs.append(link.text)//array of all image links 
      } 

     } 
     self.postTableView.reloadData()//my tableview name 
    } 

inspect element of website

答えて

0

ここでは画像のソースを見つけ、私のビューコントローラでそれを置くためにそれを使用する私の解決策です。

func parseHTML(html: String) -> Void { 
     if let doc = Kanna.HTML(html: html, encoding: String.Encoding.utf8) { 

      for item in doc.xpath("//div[@class='loop-thumb']/a") {//goes through the xpath and looks at the directories for each one that matches 

       let imageURL = (item.at_xpath("img")?["src"])//gets the image source 

       if(imageURL! == "https://s0.wp.com/wp-content/themes/premium/mh-magazine/images/noimage_174x131.png"){ //checks if no image, and replaces with The Oracle placeholder image 
        self.imageURLs.append("https://scontent.fsnc1-1.fna.fbcdn.net/v/t1.0-9/12002228_10153530981476668_4060049645901806384_n.jpg?oh=daf19a8eaf94db01fddd0516e25146f8&oe=5A4F5E34")//appends placeholder image for each article with no image 
       } 
       else { 
        self.imageURLs.append(imageURL!)//appends the image URL to the array of image urls 
       } 
      } 


     } 
関連する問題