Wpis z mikrobloga

Robię prosty scrapper, który wyciąga linki ze stron www. Natknąłem się na 2 strony, których budowa jest dosyć nietypowa przez co nie mogę dobrać się do linków. Te strony to:

http://www.wp.pl/ - nie ma w swojej strukturze żadnych linków - widać to w źródle strony.

http://docs.celeryproject.org/ - przekierowuje do http://docs.celeryproject.org/en/latest/ co jest rozsądne ale jak zrobić uniwersalną regułę, która będzie przygotowana na takie sytuacje? Jak pobrać docelowy adres?

Czy są jakieś sprawdzone metody postępowania w takich sytuacjach? Czy są biblioteki, które ułatwiają normalizowanie url'i?

(na razie używam tylko BeautifulSoup)

#django #python #programowanie #beautifulsoup
  • 9
  • Odpowiedz
http://www.wp.pl/ - nie ma w swojej strukturze żadnych linków - widać to w źródle strony.


@soma115:

* a.) Musisz mieć bajer, co ogarnia JSa: http://phantomjs.org/
* b.) Jest wersja z linkami: http://www.wp.pl/static.html

http://docs.celeryproject.org/ - przekierowuje do http://docs.celeryproject.org/en/latest/ co jest rozsądne ale jak zrobić uniwersalną regułę, która będzie przygotowana na takie sytuacje? Jak pobrać docelowy adres?


Normalnie – musisz podążać za redirectami (w rozsądnej ilości) – kwestia skonfigurowania pobieracza (chyba każdy ogarnia,
  • Odpowiedz
@MacDada: Dzięki za a) Zapowiada się super.

b) no też nie bardzo - zobacz źródło view-source:http://www.wp.pl/static.html - pustka ale ok - jest a) :)

podążać za redirectami (w rozsądnej ilości) – kwestia skonfigurowania pobieracza

Czy możesz mi podać jakieś przykłady 'pobieraczy'? Czy BeautifulSoup to potrafi? (sorry za gupie pytanie)

Normalizowanie czyli - usuwanie z adresów ?, mailto, www i innych znaczków i tego typu operacje żeby wszystkie zebrane linki były
  • Odpowiedz
Czy możesz mi podać jakieś przykłady 'pobieraczy'?


@soma115: http://docs.guzzlephp.org/en/latest/request-options.html#allow-redirects

Czy BeautifulSoup to potrafi?


Nie wiem, nie używam Pytonga. Zajrzyj do dokumentacji.

Normalizowanie czyli - usuwanie z adresów ?


Od parametrów może zależeć co strona zaprezentuje. Np [http://example.com?page=news](http://example.com?page=news) i [http://example.com?page=gallery](http://example.com?page=gallery) to mogą być zupełnie inne rzeczy. Nie powinieneś ich wywalać.

Normalizowanie czyli - usuwanie z adresów mailto


Ja bym raczej ignorował linki z mailto – przecież mejla nie pobierzesz ;-)

Normalizowanie czyli
  • Odpowiedz
@soma115: Yep, tam.

* Poczta
* Program TV
* WP.TV
* Gry
* Praca
* Zakupy

* ![]([http://d.wpimg.pl/1492908751--483649005/SK161003_01022459.jpg)"Jestem](http://d.wpimg.pl/1492908751--483649005/SK161003_01022459.jpg)"Jestem) matką. Rząd mnie zgwałcił". Tłumy na Placu Zamkowym
* ![]([http://d.wpimg.pl/1053043782-737679/332_329-gosiewska2.jpg)To](http://d.wpimg.pl/1053043782-737679/332_329-gosiewska2.jpg)To) oni stoją za strajkiem kobiet? Gosiewska uderza w protestujących
* ![]([http://d.wpimg.pl/410432855-892574306/332_191_ohme.jpg)Ohme:](http://d.wpimg.pl/410432855-892574306/332_191_ohme.jpg)Ohme:) nie pozwolę córce zostać w kraju, gdzie jej prawa są łamane
* ![]([http://d.wpimg.pl/1237673932-1044406435/332_191__macierewicz.jpg)Macierewicz](http://d.wpimg.pl/1237673932-1044406435/332_191__macierewicz.jpg)Macierewicz) kusi dodatkowym wynagrodzeniem nawet przez 6 lat. Co w zamian?
*
  • Odpowiedz
zobacz źródło strony. Mój mechanizm widzi tylko źródło.


@soma115: Jakich konkretnie linków potrzebujesz i szukasz? Daj przykład.
Ja tam widzę sporo linków, więc chyba nie rozumiem do końca czego potrzebujesz.
  • Odpowiedz