jurchiks Posted October 12, 2014 Report Share Posted October 12, 2014 @kapeika - pag, ar ko tev īsti tagad ir problēmas - ar kinopoisk vai firstshowing? Quote Link to comment Share on other sites More sharing options...
kapeika Posted October 12, 2014 Author Report Share Posted October 12, 2014 (edited) Ar KinoPoisk :) FirstShowing jau bija iekļauts skriptā un strādā kā nākas. Es tavu Kinopoisk selectora skripta daļu ieliku zem firstshowing, lai nemainītu nosaukumus metodēm (ja tā tās sauc) Edited October 12, 2014 by kapeika Quote Link to comment Share on other sites More sharing options...
jurchiks Posted October 12, 2014 Report Share Posted October 12, 2014 >Tikai rodas jautājums - kur man to sākumu bāzt? getFromKinoPoisk(): 'full_url' => head($cr->filter('.more > a')->extract(array('href'))) -> 'full_url' => 'http://kinopoisk.ru' . head($cr->filter('.more > a')->extract(array('href'))) Vajadzētu pietikt. Quote Link to comment Share on other sites More sharing options...
kapeika Posted October 12, 2014 Author Report Share Posted October 12, 2014 It kā viss kārtībā, jaunumu lapā ieiet, bet visdrīzāk, ka esmu nepareizi noformējis šo rindiņu, kurā viņš ņem jaunumu contentu (bold un underline kodā) - public function getSingleFromFirstShowing($url) { $item = $this->curl($url); $crawler = new Crawler($item); $html = $crawler->filter('.newsPage')->each(function (Crawler $node, $i) { $ht = trim($node->html()); //filter out unneeded html return '<p>' . preg_replace('/<a.*?>(.*?)<\/a>/', '$1', $ht) . '</p>'; }); return trim(implode('', $html)); } Jaunumu teksts netiek iegūts. It kā skatījos šeit - http://www.kinopoisk.ru/news/2494989/ Un selektoram vajadzētu būt .newsPage. Vai tur ir kļūda? Ja jā, tad pēc šī izlabošanas visam vajadzētu būt čikiniekā, tiesa, bildi viņš ņem maziņu (jo kinopoiskā thumbnaili ir ļoti mazi, bet manā lapā viņš automātiski mēģina izplest pēc responsivitātes, bet tur laikam neko īpaši izdarīt nevar.) Quote Link to comment Share on other sites More sharing options...
jurchiks Posted October 12, 2014 Report Share Posted October 12, 2014 Viss atkarīgs no tā, ko tu no tā raksta gribi izvilkt. ".newsPage" satur daudz atkritumu, main saturs ir iekš ".brand_words". Quote Link to comment Share on other sites More sharing options...
kapeika Posted October 12, 2014 Author Report Share Posted October 12, 2014 Sanāk tas pats. Re kā man tagad izskatās tas newsscraper fails - http://pastebin.com/gTWfVWXy - varbūt esmu pieļāvis kļūdu, kaut gan visam it kā vajadzētu būt kārtībā. Kad caur adminpaneli apdeitoju ziņas, tās pievienojas, un no adminpaneļa redzams arī jaunumu excerpts. Pēc tam, kad ieeju lapā un viņš mēģina no jauna nofetchot datus (arī pilno rakstu), tad lapa paliek tukša un adminpanelī excerpts arī ir nozudis. Vari pārbaudīt pats, ieejot lapā un nospiežot uz otrā vai trešā jaunuma (tos neaiztiku). Var pajautāt, ar ko un tieši kā tu uzzini par saturu? Kaut kāda metode? Es caur inspect element skatījos, neko dižu nesaskatīju, bet likās, ka ir pareizi ar newsPage. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted October 12, 2014 Report Share Posted October 12, 2014 This paste has been removed! Kad caur adminpaneli apdeitoju ziņas, tās pievienojas, un no adminpaneļa redzams arī jaunumu excerpts. Pēc tam, kad ieeju lapā un viņš mēģina no jauna nofetchot datus (arī pilno rakstu), tad lapa paliek tukša un adminpanelī excerpts arī ir nozudis. Kaut kas tur kodā nav tīrs. Vari pārbaudīt pats, ieejot lapā un nospiežot uz otrā vai trešā jaunuma (tos neaiztiku). Iedod konkrētu linku. Atveru galveno lapu un eju cauri filmām, visas attēlojas normāli. ar ko un tieši kā tu uzzini par saturu? Tikai Inspect element, neko citu jau nevajag. Quote Link to comment Share on other sites More sharing options...
kapeika Posted October 12, 2014 Author Report Share Posted October 12, 2014 Piemirsu verifikāciju aizpildīt - http://pastebin.com/4BBWf1Em Lūk kods. Ar filmām viss ir kārtībā jau no paša sākuma, tās fetcho krievu valodā no tmdb. Bet pēc defaulta jaunumus ņem no firstshowing vai screenrant, bet, tā kā es šo mājaslapu vēlos tendēt krieviski runājošai publikai, vēlos fetchot datus no kinopoisk. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted October 12, 2014 Report Share Posted October 12, 2014 Uhhhh... tajā kodā nav kinopoisk metožu... getFromFirstShowing() skreipo kinopoisk, wtf? Cik es redzu pēc tava /news/ saraksta, tad šī koda līnija neatgriež īso aprakstu: 'body' => head($cr->filter('.descr')->extract(array('_text'))), vai arī tu to nemaz neizvadi. Ja tur viss ir kārtībā, tas skaties, kas notiek getSingle... metodē, skaties, vai $ht = trim($node->html()); satur to, ko vajag, un vēl - pieliec /iu modifierus tam preg_replace. Quote Link to comment Share on other sites More sharing options...
kapeika Posted October 12, 2014 Author Report Share Posted October 12, 2014 Jā, es Kinopoisk metodi iebāzu zem FirstShowinga, jo baidījos, ka vēl citos failos varētu būt kaut kādi izpildošie skripti. Lai tos nemeklētu, es izvēlējos zem FirstShowing nosaukuma iestūķēt Kinopoisku. Nezinu, vai daru pareizi (noteikti, ka labāk pievienot atsevišķi), bet man tas likās uz doto brīdi drošāk. Īsais apraksts tiek izvadīts un fetchots tas tiek pareizi - http://okz.tv/news (apskaties ziņas zemāk). Tiklīdz tu uzspied uz kādas ziņas, kurai ir īsais apraksts (excerpt), tas pazūd, it kā single post scraping skripts to nepareizi atkal nofetcho un neko nepievieno. Kā jau teicu, funkcija ir tāda - 1. Ir Adminpanelis, kurā nospiežot pogu "update", tiek nofetchoti jaunumi ar šiem datiem - 'title' => head($cr->filter('.title > a')->extract(array('_text'))), 'image' => head($cr->filter('.pic > a > img')->extract(array('src'))), 'body' => head($cr->filter('.descr')->extract(array('_text'))), 'full_url' => 'http://kinopoisk.ru' . head($cr->filter('.more > ...### Šie dati un jaunumi nofetchojas lieliski, ar visu description un pārējo. 2. Mājaslapa ir uzbūvēta tā, ka tā ielādē datus, tiklīdz kāds nospiež uz jaunuma vai filmas (vai arī meklē filmu vai aktieri). Tiklīdz lietotājs nosūta pieprasījumu, lapa ielādē saturu datubāzē. 3. Attiecīgi, tiklīdz es uzspiežu uz jau nofetchotā jaunuma, skripts visdrīzāk pēc single koda mēģina ielādēt pilnu jaunumu, kā arī no jauna īso aprakstu, bet notiek kļūda, un pilnajā rakstā tiek attēlots tikai raksta nosaukums un bilde. Apskatīšos, kas notiek ar getSingle, pēc tam atrakstīšos, ceru, ka par double post man pirkstus necirtīs nost :) Paldies par palīdzību, Juri (pieļauju, ka tevi tā sauc)! Quote Link to comment Share on other sites More sharing options...
jurchiks Posted October 12, 2014 Report Share Posted October 12, 2014 Nu tad problēma ir tajā, ka, atverot pilnā apraksta lapu, īsais apraksts tiek izdzēsts/aizvietots ar pilno aprakstu. Tā vispār nevajadzētu būt, īsais apraksts != pilnais apraksts. Pilnā apraksta lapā vajadzētu iefečot pilno aprakstu un lielo bildi, un varbūt vēl video, bet neko vairāk. You're welcome :) Quote Link to comment Share on other sites More sharing options...
kapeika Posted October 28, 2014 Author Report Share Posted October 28, 2014 Ne šā, ne tā, bet pilnu ziņu iegūt man neizdevās, kam ir gan plusi, gan mīnusi - 1. Mīnuss - pilnu rakstu nevarēs lasīt lapā. 2. Pluss - nebūs duplicate contents un google nedusmosies. Jautājums - vai var tā, ka, nospiežot uz noskreipotā raksta nosaukuma, bildes vai cita elementa (no galvenās lapas - http://okz.tv - labās malas vai no jaunumu saraksta lapa, lietotājs tiek pārsūtīts uz pilno rakstu tā oriģinālās izcelsmes lapā? Quote Link to comment Share on other sites More sharing options...
jurchiks Posted October 28, 2014 Report Share Posted October 28, 2014 Atbilde - protams, ka ir iespējams, tev taču links ('full_url') ir datubāzē saglabāts. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.