Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wczytanie ostataniego postu z bloggera
robert1974
post 6.12.2014, 00:24:39
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


czesc,
Podpowiecie, jak zrobic cos takiego by z podanego bloga na blogger.com wczytywac automatycznie ostatni dodany tam post i wyswietlac go u siebie na stronie?
dzieki wielkie,
Robert
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
markuz
post 6.12.2014, 00:55:49
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


1. Pobierasz źródło za pomocą curl`a albo file_get_contents
2. Za pomocą np. https://github.com/tburry/pquery w zależności od struktury pobierasz strukturę (html) posta np.
  1. $post = $dom->query('#main #post-wrapper .post:first-child')->html();


Równie dobrze możesz to rozbić na tytuł, date dodania, autora i np. treść posta.


--------------------
Go to the top of the page
+Quote Post
robert1974
post 7.12.2014, 20:52:23
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


1. pobralem package pQuery i skopiowalem na serwer

2. dodalem przykladowy kod do mojego php:

$html = '<div class="container">
<div class="inner verb">Hello</div>
<div class="inner adj">Cruel</div>
<div class="inner obj">World</div>
</div>';

$dom = pQuery::parseStr($html);

$dom->query('.inner')
->tagName('span');

$dom->query('.adj')
->html('Beautiful')
->tagName('i');

echo $dom->html();


3. co dodac do index.php by wiedzial gdzie mam wrzucone te pliki pQuery i by tego uzywal?


sprobowalem po prostu dodac ten pQuery.php jako include w php:

<?php include '../system/pquery-master/pQuery.php'; ?>

ale chyba nie tego droga, bo dostaje:

Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in /system/pquery-master/pQuery.php on line 10



podpowie ktos?
Go to the top of the page
+Quote Post
markuz
post 7.12.2014, 22:37:44
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Jaką masz wersje PHP na serwerze?


--------------------
Go to the top of the page
+Quote Post
robert1974
post 7.12.2014, 22:56:25
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


PHP Version 5.2.17
Go to the top of the page
+Quote Post
markuz
post 7.12.2014, 23:03:17
Post #6





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Musisz zainstalować nowszą wersję PHP ponieważ ta nie wspiera "przestrzeni nazw" - zainstaluj sobie najlepiej najnowszą (aktualnie 5.6.3)

Ten post edytował markuz 7.12.2014, 23:03:34


--------------------
Go to the top of the page
+Quote Post
robert1974
post 8.12.2014, 20:17:59
Post #7





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


to server w home.pl

default jest tam 5.2.17 i zmiana na 5.4 byla poprzez pliek htaccess (polecenie Use php54)

ale zmiana w htaccess na wyzszy numer juz mi nie dziala. musze spytac home.pl jak to sie robi.



home.pl opdisalo mi wlasnie "W chwili obecnej nie oferujemy interpretera PHP w wersji 5.6.3"

jakis inny pomysl? moze inna bilbilioteka albo moze jednak to jak to ja to chcialem dodac jest bledne?
Go to the top of the page
+Quote Post
markuz
post 8.12.2014, 20:19:20
Post #8





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Z tego co wiem powinno działać na 5.4 - mam nadzieję, że sprawdzałeś..


--------------------
Go to the top of the page
+Quote Post
robert1974
post 8.12.2014, 20:47:13
Post #9





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


przepraszam na 5.4 wczesniej nie sprawdzilem. Teraz dopiero, i widze ze jest roznica. Inny blad.

Fatal error: Interface 'pQuery\IQuery' not found in /system/pquery-master/pQuery.php on line 15

na wersji : PHP Version 5.4.30

moze jszcze jakiegos php musze zaincludowac.

teraz mamy tylko tego:
<?php include '../system/pquery-master/pQuery.php'; ?>

zaraz poprobuje.

dobra, chyba troche lepiej dodalem iquery.php i znow kolejny blad:
Fatal error: Class 'pQuery\Html5Parser' not found in /system/pquery-master/pQuery.php on line 159

walcze smile.gif

w dokumentacji pisza tak,tylko kompletnie nie wiem o co chodzi w punkcie 1:

To get started using pQuery do the following.

1. Require the pQuery library into your project using [composer](http://getcomposer.org/doc/01-basic-usage.md#the-require-key).
2. Parse a snippet of html using `pQuery::parseStr()` or `pQuery::parseFile()` to return a document object model (DOM).
3. Run jQuery like functions on the DOM.

Go to the top of the page
+Quote Post
markuz
post 8.12.2014, 20:50:03
Post #10





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


W katalogu głównym tej biblioteki masz taki plik composer.json - po wejściu w niego masz taki zapis:
Kod
"require-dev": {
       "htmlawed/htmlawed": "dev-master"
   }

Co oznacza, że ta biblioteka wymaga innej biblioteki a dokładnie htmlawed/htmlawed w wersji "dev-master".
Możesz ją zainstalować w łatwy sposób komendą composer install jednak wcześniej musisz zainstalować composer`a.
Jak wiążesz swoją przyszłość z PHP`em to warto dowiedzieć się co to jest composer, jak działa, dlaczego warto go używać itd. smile.gif

Ten post edytował markuz 8.12.2014, 20:51:08


--------------------
Go to the top of the page
+Quote Post
robert1974
post 8.12.2014, 20:55:18
Post #11





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


... ze tak spytam, czy nie ma innego sposobu z wyswietlnie tego postu z bloggera biggrin.gif biggrin.gif biggrin.gif

dzieki za pomoc, ogarne w wolnej chwili tego composera
Go to the top of the page
+Quote Post
markuz
post 8.12.2014, 20:58:59
Post #12





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Oczywiście, że jest - jak to w programowaniu na dany problem jest często nieograniczona ilość rozwiązań. Rozwiązanie które Ci podałem wydawało mi się najlepsze (ponieważ biblioteka jest łatwa w użyciu).

Tutaj masz podobną bibliotekę - pobierz paczkę phpQuery-0.9.5.386-onefile.zip i dołącz plik do swojego skryptu.

Równie dobrze możesz napisać taki skrypt w czystym PHP`ie ale w tym już Ci nie pomogę ponieważ nie potrafię jeszcze sprawnie pisać tzw. "wyrażeń regularnych".

Ten post edytował markuz 8.12.2014, 21:07:40


--------------------
Go to the top of the page
+Quote Post
robert1974
post 8.12.2014, 23:52:40
Post #13





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


instalacja 2 min trwala, wklejenie ichniego przykladu z demo.php i wyglada ze dziala, ... teraz tylko musze ogarna jak to dziala, ale to juz chyba luzik, bede parsowal HTMLe niebawem smile.gif



ok... juz troche zmeczylem i nawet costam dziala, dla zainteresowanych moje obecne dzialajace proby:

$url=" jakis url strony";
$result = get_web_page( $url ); //funkcja do pobrania z http://stackoverflow.com/questions/1495386...tent-using-curl
$page = $result['content'];
phpQuery::newDocument($page);

//$first_post_element = pq('div.post-outer'); is OK
//$first_post_element = pq('div.post'); is OK
//$first_post_element = pq('div.post-header'); //ok
//$first_post_element = pq('div.post-body');// ok
$first_post_element = pq('h3.post-title'); //dziala ok

$first_post = $first_post_element->html();
echo "first post:" . $first_post . '<br/>';

jutro powienem ogarnac jak dostac sie do odpowiedniego elementu/elementow HTMLa

czad!

dzieki raz jeszcze!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:15