Diskuze: HTTP/1.0 503 Service Unavailable - requesty na Google
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
To, že Google nechce, aby mu někam chodili boti většinou znamená, že tam boti chodit nebudou...
No, on tam chvíli právě chodil. Chápu, že nechce abych mu tam posílal
stovky požadavků v jeden moment, ale když jsem mu tam poslal ten požadavek
jen jeden, tak odpověděl.
Tak jsem se právě chtěl dozvědět jak udělat, aby mě znova pustil alespoň
na ten jeden požadavek.
Ty bany trvají většinou pár dní. Pokud to chceš prozatímně obejít,
tak můžeš zkusit jinou IP (mobilní hotspot, VPN,...). Dále bych zkusil
posílat v hlavičce požadavku nějakého UserAgenta a
Cookies + pokud na lokálu nemáš HTTPS ještě je dobrý tam setnout
verify_peer
na false. To při hodně případech pomáhá, protože
působíš víc jako člověk.
Konkrétně se to dělá se SimpleHtmlDom takto:
$arrContextOptions = [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
],
'http' => [
'method' => "GET",
'header' => "Accept-language: en\r\n" .
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6\r\n".
"Cookie: foo=bar\r\n"
]
];
$html = file_get_html($url, false, stream_context_create($arrContextOptions));
Bližší info můžeš najít na git repu scholar.py, což je Python parser pro Google Scholar: https://github.com/…py/issues/52
Každopádně data parsovat pouze pro soukromé a neveřejné účely a
ideálně jednorázově.
https://academia.stackexchange.com/…ta-if-needed
PS: API key je ti tam k ničemu, protože ta služba žádné API nemá.
Zobrazeno 4 zpráv z 4.