コード例 #1
0
ファイル: routes.php プロジェクト: hbalagtas/jijiki
Route::get('parsefeed/{feed}', ['as' => 'parsefeed', 'uses' => 'Ads@parsefeed']);
Route::get('/parsefeed-test', function () {
    if (Cache::has('myfeed')) {
        $feed = Cache::get('myfeed');
        echo "cached<br>";
    } else {
        $feed = Feeds::make('http://www.kijiji.ca/rss-srp-bikes/kitchener-waterloo/c644l1700212');
        Cache::put('myfeed', $feed, 9);
        echo "NOT cached<br>";
    }
    $data = array('title' => $feed->get_title(), 'permalink' => $feed->get_permalink(), 'items' => $feed->get_items());
    $parser = new HtmlDomParser();
    foreach ($data['items'] as $item) {
        $tokens = explode('/', $item->get_link());
        $id = end($tokens);
        if (!App\Ad::find($id)) {
            $price = '';
            $title = $item->get_title();
            $description = $item->get_description() . "<br/>=================<br/>";
            $link = $item->get_link();
            $html = $parser->file_get_html($link);
            foreach ($html->find('span[itemprop=price]') as $span) {
                $price = $span->plaintext;
            }
            foreach ($html->find('div[id=ImageThumbnails] img') as $img) {
                $src = str_replace('$_14', '$_27', $img->src);
                $description .= "<img src='{$src}'> <br/>";
            }
            $ad = new App\Ad();
            $ad->id = $id;
            $ad->title = $title;