0

I do a curl to a server to get the html data which I want to parse and store in a array.

I got this data https://pastebin.com/7QB9BNut

Can anyone help me with regex to get and store the above data in array in this format.

[
["id","name","ip:port","map"]
]

example:

[
["1","Forever United","109.70.149.161:10480","Red Library Offices"],
["2","{KGB}Laura & Guns FuNHoUsE","63.141.226.61:9480","A-Bomb 
Nightclub"],
and so on
]

Thanks

Xinecraft
  • 81
  • 1
  • 7

1 Answers1

0

PasteBin wouldn't let me do an AJAX request because CORS so I had to dump the HTML in the script. But it seems to work.

let htmlString = `<tr>
    <td>
     1.
    </td>
    <td>
     <a href="/search/swat4/">
      <img src="/images/game_icons16/swat4.png" alt="SWAT4"/>
     </a>
    </td>
    <td>
     <a class="c03serverlink" href="/server_info/109.70.149.161:10480/">



      Forever United


     </a>
     <a href="javascript:showPopupExternalLink('gt://joinGame:game=swat4&amp;ip=109.70.149.161&amp;port=10480');">
      <img src="/images/global/btn_join.png" alt="Join"/>
     </a>
    </td>
    <td>
     16/18
    </td>
    <td>

    </td>
    <td>
     <a href="/search/swat4/GB/">
      <img src="/images/flags/gb.gif" alt="" class="item_16x11"/>
     </a>
    </td>
    <td>
     <span class="ip">109.70.149.161</span><span class="port">:10480</span>
    </td>
    <td>
     Red Library Offices
    </td>
   </tr>
   <tr>
    <td>
     2.
    </td>
    <td>
     <a href="/search/swat4/">
      <img src="/images/game_icons16/swat4.png" alt="SWAT4"/>
     </a>
    </td>
    <td>
     <a class="c03serverlink" href="/server_info/63.141.226.61:9480/">



      {KGB}Laura &amp; Guns FuNHoUsE


     </a>
     <a href="javascript:showPopupExternalLink('gt://joinGame:game=swat4&amp;ip=63.141.226.61&amp;port=9480');">
      <img src="/images/global/btn_join.png" alt="Join"/>
     </a>
    </td>
    <td>
     12/16
    </td>
    <td>

    </td>
    <td>
     <a href="/search/swat4/US/">
      <img src="/images/flags/us.gif" alt="" class="item_16x11"/>
     </a>
    </td>
    <td>
     <span class="ip">63.141.226.61</span><span class="port">:9480</span>
    </td>
    <td>
     A-Bomb Nightclub
    </td>
   </tr>
   <tr>
    <td>
     3.
    </td>
    <td>
     <a href="/search/swat4/">
      <img src="/images/game_icons16/swat4.png" alt="SWAT4"/>
     </a>
    </td>
    <td>
     <a class="c03serverlink" href="/server_info/163.172.55.136:10480/">



      -==MYT Team Svr==-


     </a>
     <a href="javascript:showPopupExternalLink('gt://joinGame:game=swat4&amp;ip=163.172.55.136&amp;port=10480');">
      <img src="/images/global/btn_join.png" alt="Join"/>
     </a>
    </td>
    <td>
     16/16
    </td>
    <td>

    </td>
    <td>
     <a href="/search/swat4/FR/">
      <img src="/images/flags/fr.gif" alt="" class="item_16x11"/>
     </a>
    </td>
    <td>
     <span class="ip">163.172.55.136</span><span class="port">:10480</span>
    </td>
    <td>
     Children of Taronne Tenement
    </td>
   </tr>
   <tr>
    <td>
     4.
    </td>
    <td>
     <a href="/search/swat4/">
      <img src="/images/game_icons16/swat4.png" alt="SWAT4"/>
     </a>
    </td>
    <td>
     <a class="c03serverlink" href="/server_info/51.15.152.220:10480/">



      -==MYT Team Svr==-


     </a>
     <a href="javascript:showPopupExternalLink('gt://joinGame:game=swat4&amp;ip=51.15.152.220&amp;port=10480');">
      <img src="/images/global/btn_join.png" alt="Join"/>
     </a>
    </td>
    <td>
     16/16
    </td>
    <td>

    </td>
    <td>
     <a href="/search/swat4/GB/">
      <img src="/images/flags/gb.gif" alt="" class="item_16x11"/>
     </a>
    </td>
    <td>
     <span class="ip">51.15.152.220</span><span class="port">:10480</span>
    </td>
    <td>
     Children of Taronne Tenement
    </td>
   </tr>
   <tr>
    <td>
     5.
    </td>
    <td>
     <a href="/search/swat4/">
      <img src="/images/game_icons16/swat4.png" alt="SWAT4"/>
     </a>
    </td>
    <td>
     <a class="c03serverlink" href="/server_info/31.186.250.32:10480/">



      WWW.KNIGHTofSORROW.IN (Antics)


     </a>
     <a href="javascript:showPopupExternalLink('gt://joinGame:game=swat4&amp;ip=31.186.250.32&amp;port=10480');">
      <img src="/images/global/btn_join.png" alt="Join"/>
     </a>
    </td>
    <td>
     0/12
    </td>
    <td>

    </td>
    <td>
     <a href="/search/swat4/DE/">
      <img src="/images/flags/de.gif" alt="" class="item_16x11"/>
     </a>
    </td>
    <td>
     <span class="ip">31.186.250.32</span><span class="port">:10480</span>
    </td>
    <td>
     Food Wall Restaurant
    </td>
   </tr>
   <tr>
    <td>
     6.
    </td>
    <td>
     <a href="/search/swat4/">
      <img src="/images/game_icons16/swat4.png" alt="SWAT4"/>
     </a>
    </td>
    <td>
     <a class="c03serverlink" href="/server_info/158.58.173.64:16480/">



      |SoH| Shadow Of Heroes


     </a>
     <a href="javascript:showPopupExternalLink('gt://joinGame:game=swat4&amp;ip=158.58.173.64&amp;port=16480');">
      <img src="/images/global/btn_join.png" alt="Join"/>
     </a>
    </td>
    <td>
     12/14
    </td>
    <td>

    </td>
    <td>
     <a href="/search/swat4/IT/">
      <img src="/images/flags/it.gif" alt="" class="item_16x11"/>
     </a>
    </td>
    <td>
     <span class="ip">158.58.173.64</span><span class="port">:16480</span>
    </td>
    <td>
     Children of Taronne Tenement
    </td>
   </tr>
   <tr>
    <td>
     7.
    </td>
    <td>
     <a href="/search/swat4/">
      <img src="/images/game_icons16/swat4.png" alt="SWAT4"/>
     </a>
    </td>
    <td>
     <a class="c03serverlink" href="/server_info/houseofpain.tk:10480/">



      WWW.HOUSEOFPAiN.TK (Antics)


     </a>
     <a href="javascript:showPopupExternalLink('gt://joinGame:game=swat4&amp;ip=31.186.250.156&amp;port=10480');">
      <img src="/images/global/btn_join.png" alt="Join"/>
     </a>
    </td>
    <td>
     10/12
    </td>
    <td>

    </td>
    <td>
     <a href="/search/swat4/NL/">
      <img src="/images/flags/nl.gif" alt="" class="item_16x11"/>
     </a>
    </td>
    <td>
     <span class="ip">31.186.250.156</span><span class="port">:10480</span>
    </td>
    <td>
     A-Bomb Nightclub
    </td>
   </tr>`;
let html = document.createElement('table');
html.innerHTML = htmlString;
let results = Array.from(html.querySelectorAll('tr')).map(row => Array.from(row.querySelectorAll('td')).map(cell => cell.innerText.trim()).filter(data => data != ''));
console.log(results);
Will
  • 3,201
  • 1
  • 19
  • 17