Ver código fonte

[MixCloudBridge] Fix bridge broken after DOM changed

This commit fixes DOM changes reported via #436
New DOM introduced via
https://blog.mixcloud.com/2017/01/10/take-a-look-at-the-new-and-improved-mixcloud/
logmanoriginal 7 anos atrás
pai
commit
c6ce453c47
1 arquivos alterados com 6 adições e 6 exclusões
  1. 6 6
      bridges/MixCloudBridge.php

+ 6 - 6
bridges/MixCloudBridge.php

@@ -25,26 +25,26 @@ class MixCloudBridge extends BridgeAbstract {
 
 	public function collectData(){
 
-		$html = getSimpleHTMLDOM(self::URI . '/' . $this->getInput('u'))
+		$html = getSimpleHTMLDOM(self::URI . $this->getInput('u'))
 			or returnServerError('Could not request MixCloud.');
 
-		foreach($html->find('div.card-elements-container') as $element){
+		foreach($html->find('section.card') as $element){
 
 			$item = array();
 
-			$item['uri'] = self::URI . $element->find('h3.card-cloudcast-title a', 0)->getAttribute('href');
+			$item['uri'] = self::URI . $element->find('hgroup.card-title h1 a', 0)->getAttribute('href');
 			$item['title'] = html_entity_decode(
-				$element->find('h3.card-cloudcast-title a span', 0)->getAttribute('title'),
+				$element->find('hgroup.card-title h1 a span', 0)->getAttribute('title'),
 				ENT_QUOTES
 			);
 
-			$image = $element->find('img.image-for-cloudcast', 0);
+			$image = $element->find('a.album-art img', 0);
 
 			if($image){
 				$item['content'] = '<img src="' . $image->getAttribute('src') . '" />';
 			}
 
-			$item['author'] = trim($element->find('h4.card-cloudcast-user a', 0)->innertext);
+			$item['author'] = trim($element->find('hgroup.card-title h2 a', 0)->innertext);
 
 			$this->items[] = $item;
 		}