Как читать конкретные HTML, используя Javascript / Greasemonkey - PullRequest
0 голосов
/ 08 августа 2011

Привет, это первый вопрос, который я задал, извините, если это глупо, но я новичок в JavaScript и Greasemonkey в целом.

Вопрос в том, как мне прочитать определенные области HTML и сохранить их как переменные?

Пример кода для чтения:

<td align="center">
<br>
<b>Player:</b>
58236
<br>
<br>
<b>Guild:</b>
<a href="guild.aspx?guild=23234">Example Code</a>
<br>
<div>
<br>
<b>Old Nickname: </b>
Nick
<br>
<small>(until 2011-07-31)</small>
<br>
<br>
<b>Level:</b>
21.04 (Rank 3,315)
<br>
<b>Economy:</b>
969
<br>
<br>
<b>Account:</b>
Upgraded
<br>
<b>Expire:</b>
2011-08-29
<br>
<br>
<b>Account Start:</b>
49 Days
<br>
<br>
<img title="Account Upgraded Badge" alt="Account Upgraded Badge" src="http://cdn.astroempires.com/images/badges/badge_upgraded.gif">
<br>
<br>
</td>

Теперь скажите, что я хочу извлечь уровеньигрока, насколько я понимаю, мне придется сделать что-то вроде.

Level = document.body.innerHTML.match(/<b>Level:<\/b>/);

и пойти куда-нибудь оттуда, но я не могу найти много примеров кода и объяснения того, как читать HTML на веб-страницах, используяэтот метод.

1 Ответ

0 голосов
/ 08 августа 2011

Если это действительно HTML, то это немного искусство.

Если это «упрощенная» версия HTML, ссылка на неотредактированную страницу.Способ извлечения информации зависит от точных деталей HTML.

В любом случае, используйте jQuery .Это CSS-подобные селекторы действительно помогут вам найти нужные биты.

Вот скрипт Greasemonkey, который использует jQuery для извлечения Level со страницыкак указано:

// ==UserScript==
// @name     _Get info from poorly structured HTML
// @include  http://YOUR_SERVER/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// ==/UserScript==

var LvlMarker   = $("b:contains('Level:')");
var LvlText     = LvlMarker[0].nextSibling.textContent;

alert (LvlText);

Остерегайтесь дополнительных трюков на страницах с ajax-кодом.

...