Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciąganie linków z Wirtualnej Polski
Forum PHP.pl > Forum > PHP
vnaki
Czesc wszystkim!

Jestem na etapie uczenia sie PHP, co tu duzo mowic samoukiem z zamilowania. Obecnie eksperymentuje z wyciaganiem linkow. Pojawily sie przy tym problemy:

- nie wiem jak ominac odnosniki w obrazku, po prostu niektore linki sie dubluja(chodzi o Wirtualna Polske)
np:

<div class="content topGlo">
<h1><a href="/title,Dzieki-temu-zlapia-porywacza-6-miesiecznej-Madzi,wid,14208892,wiadomosc.html" title="Dzięki temu złapią porywacza 6-miesięcznej Madzi?">
Dzięki temu złapią porywacza 6-miesięcznej Madzi?
</a></h1>

i

<a class="ikonka" href="/title,Dzieki-temu-zlapia-porywacza-6-miesiecznej-Madzi,wid,14208892,wiadomosc.html" title="Dzięki temu złapią porywacza 6-miesięcznej Madzi?">
<img src="http://i.wp.pl/a/f/jpeg/28411/magda388.jpeg" alt="Dzięki temu złapią porywacza 6-miesięcznej Madzi?" class="fot" /><img alt="materiał wideo" class="imgIkonka" src="http://i.wp.pl/a/i/wiadomosci/2011/galeria_wideo.png">
</a>

- Chcialem aby mi pojawily sie oryginalne nazwy wiadomosci, a nie mam pomyslu jak skutecznie je pobrac.

- Wiem jak wyciagnac wszystkie linki ze strony, ale nie wiem jak oddzielic te z wiadomoscia, od tych w menu, czy tez reklam

Same odnosniki pobieralem metoda wyrazen regularnych, ale jak pisalem niektore odnosniki sie dubluja

Prosze o pomoc z tymi problemami
adbacz
Wyrażenia regularne, dostajesz tablicę tak? To co za problem zrobić po niej pętlę i sprawdzać czy któryś z linków się powtarza?
Pseudokod:
  1. $links; //Linki z rexexp
  2. $newLinks = array(); //Filtrowane linki
  3. foreach($links as $key => $val) {
  4. foreach($newLinks as $key2 => $val2) {
  5. if($val != $val2) {
  6. $newLinks[] = $val;
  7. }
  8. }
  9. }

Takie coś powinno ząłatwić sprawę.

EDIT:
Cytat
Wiem jak wyciagnac wszystkie linki ze strony, ale nie wiem jak oddzielic te z wiadomoscia, od tych w menu, czy tez reklam

Mozesz za pomocą Wyrażeń wyciągnąć danego DIVa czy w czym sa tam trzymane dane w HTML (z pewnością znajdziesz), i w tedy sobie wyciągać linki z tego co wcześniej wyciągnąłeś. To chyba najprostrze rozwiązanie.
wookieb
Proszę wstawić bbcode do swojego postu.
zaajcu
Cytat(adbacz @ 31.01.2012, 21:52:36 ) *
Wyrażenia regularne, dostajesz tablicę tak? To co za problem zrobić po niej pętlę i sprawdzać czy któryś z linków się powtarza?
Pseudokod:
  1. $links; //Linki z rexexp
  2. $newLinks = array(); //Filtrowane linki
  3. foreach($links as $key => $val) {
  4. foreach($newLinks as $key2 => $val2) {
  5. if($val != $val2) {
  6. $newLinks[] = $val;
  7. }
  8. }
  9. }

Takie coś powinno ząłatwić sprawę.

EDIT:

Mozesz za pomocą Wyrażeń wyciągnąć danego DIVa czy w czym sa tam trzymane dane w HTML (z pewnością znajdziesz), i w tedy sobie wyciągać linki z tego co wcześniej wyciągnąłeś. To chyba najprostrze rozwiązanie.



Może zamiast pętli array_unique();

http://php.net/manual/en/function.array-unique.php
wookieb
Prosiłem o wstawienie bbcode to nie zrobiłeś tego. Zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.