現在、次の YQL ステートメントを使用して、サイトのページ コンテンツをスクレイピングしています。{EncodedURI}
スクレイピングしているページはどこですか。例: http%3A%2F%2Fstackoverflow.com
SELECT * FROM html WHERE url="{EncodedURI}"
ほとんどの URL では、これで問題なく機能します。XML は有効で、アプリケーションは続行されます。ただし、一部の URL では無効な XML が返されます。興味深いことに、私が発見したこのエラーの原因となる URL の 1 つはhttp://en.wikipedia.org/wiki/Godです。
クエリから生の応答を取得し、それを XML バリデーターに渡したところ、次のエラーが発生しました。
error on line 2 at column 6:XML declaration allowed only at the start of the document
応答の終わり近くの XML が混乱しているようですが、正確な問題を特定できませんでした。
何か案は?
アップデート:
応答の最後の XML を次のように変更しました。
</body></results></query>>!-- Stotal: 288-->
<!-- Lengine9.yql.ac4.yhouocolm-->
<
に
</body></results></query><!-- Stotal: 288-->
<!-- Lengine9.yql.ac4.yhouocolm-->
アプリケーションで XML を簡単に修正して動作させることはできますが、明らかにそのソリューションは理想的ではありません。この問題を回避する方法を知っている人はいますか?