var page = UrlFetchApp.fetch(contestURL);
var doc = XmlService.parse(page);
Mã trên cho lỗi phân tích khi được sử dụng, tuy nhiên nếu tôi thay thế lớp XmlService với lớp Xml không dùng nữa, với bộ cờ lenient, nó phân tích cú pháp html đúng.Cách tốt nhất để phân tích cú pháp html trong tập lệnh google apps
var page = UrlFetchApp.fetch(contestURL);
var doc = Xml.parse(page, true);
Vấn đề chủ yếu là do không có CDATA trong phần javascript của html và trình phân tích cú pháp phàn nàn với lỗi sau.
The entity name must immediately follow the '&' in the entity reference.
Thậm chí nếu tôi loại bỏ tất cả các <script>(.*?)</script>
sử dụng regex, nó vẫn phàn nàn vì <br>
thẻ không được đóng lại. Có cách nào phân tích cú pháp html thành cây DOM hay không.
Xem http://stackoverflow.com/a/1732454/362634 ... –
Bạn có thể tìm nạp trang và sử dụng trình phân tích cú pháp để loại bỏ các thẻ không mong muốn và sau đó bắt đầu phân tích cú pháp khác, có thể thực hiện được. Tôi biết rằng XmlService hoạt động tốt nhưng là loại lỗi. – hwnd