Не могу спарсить IP. Нет, не только IP.



  • @my3uka Спасибо. Мануал, действительно хороший.
    Так какой xpath. //script ?



  • @hubble //*[contains(@class, 'proxy ')]/td[2] тест



  • @seedgg //*[contains(@class, 'proxy ')]/td[3] для порта. Все парсиш в списки. Потом объединяешь через двоеточие



  • @seedgg Он страницу получает get-запросом. В ней не сработает этот xpath.



  • @hubble Там данные в json виде, проще доставать их через json.parse.
    Вот тестовый скрипт. Осталось привести порт прокси в нормальный вид.



  • Всем большое спасибо!
    Буду разбираться.

    P.S.
    А почему не получалось применить xpath?
    Я имею в виду, что найденный путь в инспекторе не отрабатывал в программе?



  • @hubble said in Не могу спарсить IP. Нет, не только IP.:

    Если применить //table[@id="tblproxy"], то там не xml-текст. Ну а потом регулярка. Как-то так. Одним xpath`ом - ну никак у меня.

    почему там должен оказаться xml-ТЕКСТ(sic!), Вам же обрабатываете html.
    я так считаю, не разбираете xpath и нафиг он не нужен,

    /([\d]{1-3}\.[\d]{1-3}\.[\d]{1-3}\.[\d]{1-3})/
    

    чтобы извлеч ip, обычно хватает

    и если xpath не работает значит xpath селектор неверны

    или работайте с браузером и DOМ, там и tbody будет и есть css селекторы которые вероятно проще

    document.querySelector('css')
    

    а для работы с таблицами есть специальные методы



  • @hubble А вы код смотрели? В исходном коде таблицой и не пахнет.

    <script type="text/javascript">
                        gp.insertPrx({"PROXY_CITY":"","PROXY_COUNTRY":"Colombia","PROXY_IP":"190.248.158.194","PROXY_LAST_UPDATE":"8 15","PROXY_PORT":"1F90","PROXY_REFS":null,"PROXY_STATE":"","PROXY_STATUS":"OK","PROXY_TIME":"288","PROXY_TYPE":"Transparent","PROXY_UID":null,"PROXY_UPTIMELD":"33/24"});
    </script>
    <script type="text/javascript">
                        gp.insertPrx({"PROXY_CITY":"","PROXY_COUNTRY":"Thailand","PROXY_IP":"118.175.13.178","PROXY_LAST_UPDATE":"8 0","PROXY_PORT":"1F90","PROXY_REFS":null,"PROXY_STATE":"","PROXY_STATUS":"OK","PROXY_TIME":"780","PROXY_TYPE":"Transparent","PROXY_UID":null,"PROXY_UPTIMELD":"4/2"});
     </script> 
    ................................
    

    Максиму тут можно спарсить все данные //script[contains(text(),'PROXY_IP')] , а потом уже регулярным выражением выдергивать данные. Либо можно JSON.parse(), как выше предложил @Fox



  • Благодарю ВСЕХ!!!
    Информации более, чем достаточно.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.