![]() ![]() |
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? (IMG:style_emoticons/default/worriedsmiley.gif) |
|
|
|
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 (IMG:style_emoticons/default/wink.gif) |
|
|
|
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. (IMG:style_emoticons/default/sad.gif)
Ten post edytował evolucja 12.05.2011, 20:17:45 |
|
|
|
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:
|
|
|
|
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.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 06:55 |