@WasTabon said in Не компилирует проекты:
изображение_2021-04-10_182837.png
Где exe-шник?
Ахах, ложная тревога, у меня место на диске закончилось прост
Есть сайт. Попробовал спарсить все IP. Пишу xPath. Не получается. Ладно. Попробовал спарсить хотя бы один IP. Тоже не получается. Вообще, ничего. Ну, хотя бы //table дал результат какой-нибудь. Нет.
Я не знаю, почему так. Прошу помощи.
xPath не предоставляю, т.к. не вижу смысла. У меня (по крайней мере) даже элементарный div (не глубоко вложенный) не парсится.
В инспекторе (Firefox) тэг tbody видно. А в исходном файле этой же страницы его нет вообще. Почему так?
@my3uka У меня есть мануал. Много мануалов. Но все равно не получается составить xpath.
Может вы думаете, что мне лень и я хочу, чтобы кто-то за меня составил. Нет. Я их всегда составлял сам (иногда с помощью). Но здесь я не знаю, как его составить.
У меня так получилось:
//table[@id="tblproxy"]/tbody/tr[@class="loading-row"]/following-sibling::*/td[1]
Это не работает
@Pragmatik Спасибо.
Я уже тоже об этом думал. Но как-то считал, что применять регулярное выражение для xml-файла немного не комильфо. Но, видимо, так и придется сделать. Если, конечно, точно не получится через xpath. Да и в БАСе удобнее было бы использовать Xpath получить каждый текст. Текст там не на одной странице.
@hubble Вам же выше @ruzne все объяснил. В коде страницы tbody может и не быть. То, что он есть в браузере еще не означает,что он есть в коде т.к. браузер его может дописать сам. А вы запросом получаете код страницы в котором его нет, поэтому ваш xpath будет не верным. Уберите тег tbody и скорей всего у вас все будет работать.
Ай-яй-яй. А я-то этого и не заметил :)
Я же в своем первом посте написал, что у меня не получается применить не только этот xpath (он указывался как один из примеров). С чего вы вдруг решили, что я после того, что то, что объяснил мне выше @ruzne, не принял во внимание. Глупости.
Попробуйте вы написать. Учтите, конечно, tbody . Получится, опубликуйте. Буду Вам признателен.
https://ibb.co/df5fEx
все гуд. А тот мануал всетаке лутчше прочесть.
@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