Kiedy próbuję złom this site z Phantomjs domyślnie Phantomjs wysłać następujące nagłówki serwera:Udawaj Firefoksa zamiast Phantom.js
"name":"User-Agent",
"value":"Mozilla/5.0 (Unknown; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.1 Safari/534.34"}
i dostaję odpowiedź status 405 "Not Allowed"
.
Przeczytałem w Phantomjs API Reference, że aby naśladować żądanie pochodzące z innej przeglądarki, powinienem zmienić wartość User-Agent. Na Wikipedii znalazłem wartość należy używać do udając Firefox pod Ubuntu:
'name': 'User-Agent',
'value': 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:16.0) Gecko/20120815 Firefox/16.0'
W jakiej części Phantomjs należy umieścić ogłoszenia? Gdzie powinienem je wstawić - wewnątrz page.open lub wewnątrz page.evaluate, lub na górze?
bardzo dziękuję, trudno jest zagrać z 'getElementsByClassName' po jQuery> sizzle – khex
@khaljava Oh ale możesz użyć jquery pod phantomjs, po prostu nie zrobiłem tego w ten sposób, aby zachować prostotę. Sprawdź zaktualizowaną odpowiedź. –
Niektóre witryny mają sposób na wykrycie PhantomJS nawet po ustawieniu nagłówków, zwracają błąd lub pusty ekran. Jeśli otworzę je w Chrome, wszystko będzie dobrze. Zastanawiam się, czy istnieje sposób, aby sobie z tym poradzić – Toolkit