Google Scholar Server Ошибка HTML Parser

Вплоть до этой недели мне удавалось использовать простой html dom-парсер, чтобы вычистить контент из google scholar. (Да, я знаю, что они не хотят, чтобы люди делали это, следовательно, не API).

Тем не менее, в последние день или два он перестал отображать контент. При попытке простого file_get_html или URL есть ошибка:

Ошибка сервера. К сожалению, похоже, что
внутренняя ошибка сервера при обработке вашего запроса. Наши инженеры
были уведомлены и работают над решением проблемы. Пожалуйста, попробуйте
снова позже.

Я видел других вопросы там, но решения в основном R-специфичные или используют cURL. У кого-нибудь есть предложения по настройке моей простой функции php, особенно для вызова дважды? Или мне не повезло, так как Google сейчас закрывает эту дверь?

Мой код:

<?php require_once('assets/functions/simple_html_dom.php');
$google_id = get_post_meta($post->ID, 'ecpt_google_id', true);
$google = new simple_html_dom;
$google_url = 'http://scholar.google.com/citations?user=' . $google_id . '&pagesize=10';
$older_pubs = 'http://scholar.google.com/citations?user=' . $google_id;
$google = file_get_html($google_url);

foreach($google->find('tr.gsc_a_tr') as $article) {
$item['title']  = $article->find('td.gsc_a_t a', 0)->plaintext;
$item['link']   = $article->find('a.gsc_a_at', 0)->href;
$item['pub']    = $article->find('td.gsc_a_t .gs_gray', 1)->plaintext;
$item['year']   = $article->find('td.gsc_a_y', 0)->plaintext;

?>
<p class="pub"><b><a href="http://scholar.google.com<?php echo $item['link'];?>"><?php echo $item['title']; ?></a></b></p>
<h6 class="pub"><?php echo $item['year']; ?>, <?php echo $item['pub']; ?></h6>


<?php } ?>
<p align="right"><b><a href="<?php echo $older_pubs; ?>">View Publications</a></b></p>

0

Решение

Ученый Google больше не доступен без принятия файлов cookie.
«Ошибка сервера» возникает при попытке доступа с помощью curl / wget / …

Попробуйте принять куки, для curl / php смотрите:
Google Server выдает ошибку сервера при первом запросе в режиме приватного просмотра

Затем дважды загрузите страницу (сначала принимаете cookie и ошибку сервера, затем вы получаете контент).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]