parent
268ddf1382
commit
dc36b425cd
1 changed files with 12 additions and 9 deletions
|
@ -45,24 +45,22 @@ apple-icon-5c6fa9f2bce280428589c6195b7f1924206a53b782b371cfe2d02da932c8c173.png'
|
||||||
}
|
}
|
||||||
|
|
||||||
public function collectData() {
|
public function collectData() {
|
||||||
|
|
||||||
$html = getSimpleHTMLDOMCached($this->getURI())
|
$html = getSimpleHTMLDOMCached($this->getURI())
|
||||||
or returnServerError('Could not request ' . $this->getURI());
|
or returnServerError('Could not request ' . $this->getURI());
|
||||||
|
|
||||||
$html = defaultLinkTo($html, static::URI);
|
$html = defaultLinkTo($html, static::URI);
|
||||||
|
|
||||||
$articles = $html->find('div.single-article')
|
$articles = $html->find('div.crayons-story')
|
||||||
or returnServerError('Could not find articles!');
|
or returnServerError('Could not find articles!');
|
||||||
|
|
||||||
foreach($articles as $article) {
|
foreach($articles as $article) {
|
||||||
$item = array();
|
$item = array();
|
||||||
|
|
||||||
$item['uri'] = $article->find('a[id*=article-link]', 0)->href;
|
$item['uri'] = $article->find('a[id*=article-link]', 0)->href;
|
||||||
$item['title'] = $article->find('h3', 0)->plaintext;
|
$item['title'] = $article->find('h2 > a', 0)->plaintext;
|
||||||
|
|
||||||
// i.e. "Charlie Harrington・Sep 21"
|
$item['timestamp'] = $article->find('time', 0)->datetime;
|
||||||
$item['timestamp'] = strtotime(explode('・', $article->find('h4 a', 0)->plaintext, 2)[1]);
|
$item['author'] = $article->find('a.crayons-story__secondary.fw-medium', 0)->plaintext;
|
||||||
$item['author'] = explode('・', $article->find('h4 a', 0)->plaintext, 2)[0];
|
|
||||||
|
|
||||||
// Profile image
|
// Profile image
|
||||||
$item['enclosures'] = array($article->find('img', 0)->src);
|
$item['enclosures'] = array($article->find('img', 0)->src);
|
||||||
|
@ -70,7 +68,6 @@ apple-icon-5c6fa9f2bce280428589c6195b7f1924206a53b782b371cfe2d02da932c8c173.png'
|
||||||
if($this->getInput('full')) {
|
if($this->getInput('full')) {
|
||||||
$fullArticle = $this->getFullArticle($item['uri']);
|
$fullArticle = $this->getFullArticle($item['uri']);
|
||||||
$item['content'] = <<<EOD
|
$item['content'] = <<<EOD
|
||||||
<img src="{$item['enclosures'][0]}" alt="{$item['author']}">
|
|
||||||
<p>{$fullArticle}</p>
|
<p>{$fullArticle}</p>
|
||||||
EOD;
|
EOD;
|
||||||
} else {
|
} else {
|
||||||
|
@ -80,11 +77,13 @@ EOD;
|
||||||
EOD;
|
EOD;
|
||||||
}
|
}
|
||||||
|
|
||||||
$item['categories'] = array_map(function($e){ return $e->plaintext; }, $article->find('div.tags span.tag'));
|
// categories
|
||||||
|
foreach ($article->find('a.crayons-tag') as $tag) {
|
||||||
|
$item['categories'][] = str_replace('#', '', $tag->plaintext);
|
||||||
|
}
|
||||||
|
|
||||||
$this->items[] = $item;
|
$this->items[] = $item;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getName() {
|
public function getName() {
|
||||||
|
@ -101,6 +100,10 @@ EOD;
|
||||||
|
|
||||||
$html = defaultLinkTo($html, static::URI);
|
$html = defaultLinkTo($html, static::URI);
|
||||||
|
|
||||||
|
if ($html->find('div.crayons-article__cover', 0)) {
|
||||||
|
return $html->find('div.crayons-article__cover', 0) . $html->find('[id="article-body"]', 0);
|
||||||
|
}
|
||||||
|
|
||||||
return $html->find('[id="article-body"]', 0);
|
return $html->find('[id="article-body"]', 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue