Я пытаюсь проанализировать страницу индекса FTP-сайта, чтобы получить список файлов на основе содержимого тегов <a href = "">
. Я изо всех сил пытаюсь понять, почему я получаю разные форматы в результате при попытке загрузить индекс папки FTP по-разному (результаты имеют разные спецификации DOCTYPE). Рассмотрим следующее:
tf = tempfile()
download.file("ftp://ftp.dfg.ca.gov/IEP_Zooplankton/", tf)
file.show(tf)
Результат:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
FTP directory /IEP_Zooplankton/ at ftp.dfg.ca.gov
FTP directory /IEP_Zooplankton/ at ftp.dfg.ca.gov
Up to higher level directory
09/06/2019 01:26PM Directory .
09/06/2019 01:26PM Directory ..
07/09/2019 12:00AM 11,393,654 1972-2018CBMatrix.xlsx
05/09/2019 12:00AM 3,174,362 1972-2018MysidMatrix.xlsx
05/09/2019 12:00AM 6,058,037 1972-2018Pump Matrix.xlsx
05/09/2019 12:00AM 16,238 ReadMeZooplanktonStudyMatricesMay2019.docx
09/06/2019 01:26PM 1,737,932 ZooplanktonMetadataSept2019.pdf
05/01/2008 12:00AM 202,752 ZP Monitoring Station Map Historic.ppt
10/31/2017 12:00AM 199,023 ZPCoreAndCurrentStationsAug2017.pdf
Однако, если я попытаюсь выполнить эквивалентное действие с xml2::read_html()
(или curl::curl_fetch_memory()
) Я получаю совершенно другой формат:
xml = xml2::read_html("ftp://ftp.dfg.ca.gov/IEP_Zooplankton/")
Результат (вы можете распечатать все содержимое страницы на консоли, выполнив as.character(xml)
):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>drwxrwxrwx 1 user group 0 Sep 6 13:26 .
drwxrwxrwx 1 user group 0 Sep 6 13:26 ..
-rw-rw-rw- 1 user group 11393654 Jul 9 2019 1972-2018CBMatrix.xlsx
-rw-rw-rw- 1 user group 3174362 May 9 2019 1972-2018MysidMatrix.xlsx
-rw-rw-rw- 1 user group 6058037 May 9 2019 1972-2018Pump Matrix.xlsx
-rw-rw-rw- 1 user group 16238 May 9 2019 ReadMeZooplanktonStudyMatricesMay2019.docx
-rw-rw-rw- 1 user group 1737932 Sep 6 13:26 ZooplanktonMetadataSept2019.pdf
-rw-rw-rw- 1 user group 202752 May 1 2008 ZP Monitoring Station Map Historic.ppt
-rw-rw-rw- 1 user group 199023 Oct 31 2017 ZPCoreAndCurrentStationsAug2017.pdf
</p></body></html>
Первый результат (через download.file()
) анализируется с помощью функций xml2::xml_find_*()
, но последний - нет. Почему я получаю разные форматы для одного и того же файла? Как я могу убедиться, что я получаю прежний формат (т. Е. С тегами <a>
)?