Очистка HTML-таблицы в языке Common LISP?

Я хотел бы извлечь некоторую информацию из веб-страницы, это содержится в HTML <таблица>. Как я могу извлечь всю информацию о таблице в хорошее | разделенный файл?

Author|Book|Year|Comments
Bill Bryson|Short History of Nearly Everything|2004
Stephen Hawking|A Brief History of Time|1998|Still haven't read.

Идеально, я хотел бы иметь функцию, которая берет URL и выходной файл, поскольку параметры затем дают вышеупомянутый вывод.

(defun extract-table (url filename)
       (extract-from-html-table (fetch-web-page url)))

(extract-table "http://www.mypage.com" "output.txt")

Демонстрационный ввод HTML для вышеупомянутого вывода:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Lisp</title>
</head>
<body>
<h1>Welcome to Lisp</h1>
<table class="any" style="font-size: 14px;">
  <TR class="header">
    <td>Author</td>
    <TD>Book</TD>
    <td>Year</td>
    <td>Comments</td>
  </TR>
  <tr class="odd">
    <td>Bill Bryson</td>
    <td>Short History of Nearly Everything</td>
    <td>2004</td>
  </tr>
  <tr>
    <td>Stephen Hawking</td>
    <td>A Brief History of Time</td>
    <td>1998</td>
    <td>Still haven't read.</td>
  </tr>
</table>
</body>
</html>
5
задан 28 February 2010 в 20:34
поделиться

1 ответ

Начните с Drakma для получения данных. Для синтаксического анализа может оказаться полезным cxml . Или еще лучше: вы можете использовать closure-html , который должен анализировать произвольный HTML 4. На странице Common-Lisp.net пакета closure-html есть пример очистки экрана .

7
ответ дан 14 December 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: