![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Potrzebuję wyciągnąć dane wszystkich oddziałów z tej strony: http://skokwesola.pl/onas/oddzialy.html Potrzebuję nazwę miejscowości, kod pocztowy, adres i telefon. Generalnie mógłbym samemu próbować stworzyć jakieś wyrażenia, ale problem jest z różnym rozłożeniem tych danych. Chodzi mi o spacje, tabulatory itd. Nie jest to jeden ciągły kod. Byłby ktoś łaskaw mi pomóc? ![]() -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
pobierasz zawartość strony np funkcja file_put_contents
i dalej juz przetwarzasz , mozesz uzyc do tego np pteg_match_all jako wzór dajesz poniższy kod " <div class="adres"><a href="/oddzialy.html?layout=single&id=7"><strong>Złotów </strong>77-400<br /></a> ul. Reymonta 6 </div> <div class="telefon">tel. <br />67/ 263 57 61</div> <div class="godziny"> <span><strong>Pon</strong><br />9:00-17:00</span> <span><strong>Wt</strong><br />8:00-16:00</span> <span><strong>Śr</strong><br />9:00-17:00</span> <span><strong>Czw</strong><br />9:00-17:00</span> <span><strong>Pt</strong><br />8:00-16:00</span> </div> <hr /> " ALE tam gdzie wartości są różne wstawiasz ".*" lub "(.*)" .* czyli dowolna wartość w tym miejscu , (.*) dowolna wartość w tym miejscu którą pobierasz później zliczasz ile takich wzorów znajdzie i w pętli for wyświetlacz czy co tam chcesz z tymi danymi zrobić. PS gotowca nie dostaniesz ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jak patrzę po kodzie html to bez niczego jesteś w stanie skopiować całość. Wszystko jest ślicznie ułożone w divie o id woj-lista, a dane są wszystkie regularnie ułożone. Spacje i tabulatory przecież można uwzględnić w pregmatchu
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Gdyby to było wszystko takie proste... Chyba ze wszystkich rzeczy w PHP najtrudniej mi pojąć właśnie te regular expresions.
![]()
Ten post edytował evolucja 12.05.2011, 20:17:45 -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
do wzoru doklejaj sobie kolejne linie i sprawdzaj czy aby na pewno działa bo od razu cały wrzucić to na 100% nie zadziała |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Z jedną linijką jeszcze łatwiej bo tam nie ma tych tabulatorów.
A tak wystarczy, że dodam do wzoru mały fragment i już kompletnie nic nie znajduje, np:
-------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
SimpleXML, ew. DOMDocument + loadHTML + XPath i wyciągasz co chcesz. SimpleXML czasem psioczy jak dostaje źle sformatowany HTML ale wtedy masz tą drugą klasę i jej metodę loadHTML. Obie klasy mają podobną funkcjonalność i konwertują się między sobą, więc czego użyjesz zależy już od ciebie.
-------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:03 |