Openrefine не извлекает весь HTML-код

#web-scraping #openrefine #grel

#очистка веб-страниц #openrefine #grel

Вопрос:

Я собирал академические статьи в Wiley для сбора информации об авторе, но выбранный столбец содержит не весь код.

Например, если я проверяю сайт (например, https://onlinelibrary .wiley.com/doi/10.1111/1475-6773.13088 ), в то время как существует более 100 тегов span, мой полученный результат содержит менее 30 тегов span. Некоторые мета-теги также отсутствуют.

Я специально ищу такие элементы, как мета-теги с помощью citation_author и citation_author_institution .

Комментарии:

1. Вы не говорите, создаете ли вы проект по этому URL-адресу или добавляете столбец, извлекая его. Для последнего я получаю запрет 403 с помощью OpenRefine 3.4.1. Отправляете ли вы заголовки, отличные от стандартных? Я могу заверить вас, что Refine сохраняет все, что отправляется, поэтому я хотел бы по причинам, которые, возможно, веб-сайт отправляет не то, что вы думаете (например, меры по борьбе с очисткой).

2. @TomMorris Я добавил столбец, выбрав его, и я не получил никакой ошибки (например, 403): я захватил html-код. Возможно, Wiley предотвращает полную очистку.

3. OpenRefine по умолчанию не фиксирует ошибку. Попробуйте установить флажок «Сохранить ошибку» в диалоговом окне выборки URL. В моем предыдущем сообщении должно было быть сказано «Я бы посмотрел на причины».

4. @TomMorris Спасибо. Я попробовал с Python и получил ошибку 403. Хотя я мог избежать ошибки с помощью пользовательского агента, я все еще не могу получить весь код. Могут ли Openrefine или Python обойти эти меры защиты?

5. $ curl -L https://onlinelibrary.wiley.com/doi/10.1111/1475-6773.13088 возвращает «Онлайн-библиотеке Wiley требуются файлы cookie для аутентификации и использования других функций сайта; поэтому файлы cookie должны быть включены для просмотра сайта. Подробную информацию о том, как Wiley использует файлы cookie, можно найти в нашей политике конфиденциальности [ wiley.com/en-us/privacy ] .» OpenRefine не поддерживает файлы cookie, но Python можно настроить.