私の質問は、ここにある別の質問に関連しています Common Lisp で HTML テーブルをスクレイピングしますか?
Common Lisp で Web ページからデータを抽出しようとしています。現在、drakma を使用して http リクエストを送信しています。chtml を使用して、探しているデータを抽出しようとしています。私がスクラップしようとしているウェブページはhttp://erg.delph-in.net/logonです。ここに私のコードがあります
(defun send-request (sentence)
"sends sentence in an http request to logon for parsing, and recieves
back the webpage containing the MRS output"
(drakma:http-request "http://erg.delph-in.net/logon"
:method :post
:parameters `(("input" . ,sentence)
("task" . "Analyze")
("roots" . "sentences")
("output" . "mrs")
("exhaustivep" . "best")
("nresults" . "1"))))
そして、これが私が問題を抱えている機能です
(defun get-mrs (sentence)
(let* (
(str (send-request sentence))
(document (chtml:parse str (cxml-stp:make-builder))))
(stp:filter-recursively (stp:of-name "mrsFeatureTop") document)))
基本的に、抽出する必要があるすべてのデータは html テーブルにありますが、ここに貼り付けるには大きすぎます。私の get-mrs 関数では、mrsFeatureTop という名前のタグを取得しようとしていましたが、NCName 'onclick ではなく、エラーが発生しているため、これが正しいかどうかはわかりません。テーブルのスクレイピングに関するヘルプは大歓迎です。ありがとうございました。