![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 1.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję dwóch rzeczy.
Pierwsza to funkcje, dzięki którym będę mógł znaleźć określone elementy na stronie, znajdujące się w odpowiednich blokach. Na przykład w kodzie źródłowym większej strony mamy kilka razy powtórzone Kod <h3>cos tam</h3> <a href=link>cos tam</a> Zależy mi na wyłuskaniu tych linków, przy czym tylko tych, które są po znaczniku nagłówka (a sam nagłówek może się pojawić kilka razy na stronie i zawsze pod nim są linki). Próbowałem znaleźć coś w manualu, szukałem w funkcjach preg_*, jednak na nic nie trafiłem. Druga rzecz - chcę, aby po wyłuskaniu danego linku, skrypt wszedł na stronę w nim podaną i znalazł tam kolejne dane. Myślałem nad tym, aby pobierać dane strony i zapisywać je w tablicy, jednak nie wydaje mi się to ładnym rozwiązaniem. Można prosić o naprowadzenie? Ten post edytował Cromwell 21.09.2009, 17:45:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Wyrażenia regularne
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Ad. 1. preg_match + wyrażenia regularne (jak napisał kolega wyżej).
Ad. 2. file_get_contents i jako argument podajesz stronę, której zawartość chcesz pobrać, a dalej to tak jak w ad. 1. Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 1.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze, teraz mam taki kod
Jednak zwraca mi pustą tablicę, zupełnie bez wyników. Podejrzewam, że coś źle ustawiłem z wyrażeniami regularnymi, jednak nie wiem co.. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj takie coś.
Zamień swój preg_match na to : PS. Dałem tam ograniczenie do 100 znaków. U mnie wszystkie poprawne linki zbierało, a bez tego ograniczenia dużo syfu było. Edit. Oczywiście wyświetl sobie wynik var_dump($match); Ten post edytował Suh 22.09.2009, 22:18:26 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 1.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
guzik. Nadal nie działa, wyświetla pustą tablicę. Zmieniłem tak jak powiedziałeś na
jednak zamiast tablicy z linkami dostaję tylko array(0) { } Ten post edytował Cromwell 23.09.2009, 10:00:15 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
No to ciekawe, bo skopiowałem to co powyżej wkleiłeś i u mnie działa.
Spróbuj dać hasło do wyszukiwania na sztywno, zobacz co się wyświetli jak dasz echo $link; Popróbuj - gdyby mi to nie działało to bym Ci nie odpisał. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 1.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Sam nie wiem. Wydaje się, że wszystko w porządku. Kod aktualnie wygląda tak
I cały czas dostaję array(0). Sprawdzałem na dwóch serwerach, efekt ten sam. Co ciekawe - jeśli po linijce ze zmienną $link dam echo "$link", to dostanę w odpowiedzi stronę 403 google. Jeśli zamiast linku google podam jakąś inną stronę, wtedy listuje mi linki. Dodatkowo, jeśli w firefoxie wpiszę w formularzu np 'test', to zamiast przeładowania się strony, przenosi mnie na stronę hxxp://today-newday.cn/in.cgi?6¶meter=newday . Która jest blokowana przez google. W operze nic takiego się nie dzieje, przeładowuje normalnie. Okazało się, że serwer jest prawdopodobnie banowany w google i dlatego nie ma wyników. Prawdopodobnie, gdyby nie to, znacznie szybciej doszedłbym do rozwiązania problemu. Cóż, bywa.. Ten post edytował Cromwell 23.09.2009, 20:58:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 22:33 |