muszę pobrać następującą stronę internetową: http://m.10bet.com/#leage_panel#10096strony skrobanie: Czekam, aż strona jest całkowicie załadowany
To jest strona zakłady sportowe i muszę cytaty. Przede wszystkim wydaje się to dość proste. Jednak tutaj jest to, co dzieje się (można to sprawdzić z np narzędzia programistyczne w przeglądarce.):
- otworzyć URL
- strona wczytuje początkową HTML, który następnie wywołuje żądania AJAX do pobierania cytaty
- Jednak cytat jest zawarty w jsonie, ALE są one pomijane, tak że nie można ich po prostu sparsować bezpośrednio z wywołania ajax. Dodatkowo javascript strony internetowej jest również obruszony. Więc nie ma możliwości, aby bezpośrednio przeczytać cytaty z wniosku.
Zamiast tego potrzebuję przeglądarki bezgłowej, która potrafi ocenić javascript. HtmlUnit dla java jest niewystarczające, ponieważ nie oferuje solidnej funkcjonalności javascript. Dlatego PhantomJS w połączeniu z CasperJS to mój obecny wybór. Stosuję CasperJS z następującym skryptem:
var casper = require('casper').create();
casper.start('http://m.10bet.com/#leage_panel#10096', function() {
var url = 'http://m.10bet.com/#leage_panel#10096';
this.download(url, '10bet.html');
});
casper.run(function() {
this.echo('Done.').exit();
});
Jednak ten skrypt nie ładuje całej strony. Tylko główna strona. Jak mogę załadować całą stronę tak, jak jest prezentowana w przeglądarce?
Nie znam tych narzędzi, ale czy możesz dołączyć swój kod do zdarzenia 'domready'? To może zrobić. – halfer