Как "выцепить" ссылку из ява-скрипта?

DeL Esprit
На сайте с 27.01.2010
Offline
223
958

Есть хтм-страничка, в ней пару ссылок выводиться посредством ява-скрипта(ссылки могут меняться - то-есть я их наперед не знаю)

Каким образом можно получить, например, эти ссылки? Я хочу их использовать еще раз на этой же странице в пхп-скрипте.

Тестирую облачный майнинг - узнаем развод или нет. - окупаемость 3 месяца? мелкие суммы (https://goo.gl/aPWmoj) | майнинг Monero, минимум $830 (https://goo.gl/3XivbP) Биржи (ввод/вывод) - на Приват (https://goo.gl/CGZTnD), на Payeer, Capitalist, Advcash, Qiwi... (https://goo.gl/eejAgs)
BG
На сайте с 09.10.2010
Offline
3
#1

Навскидку: можно использовать регулярные выражения для выявления значения атрибута href этих ссылок. Можно использовать методы DOM. Чтобы понять, как и чем спарсить эти ссылки и предложить конкретное решение, нужно посмотреть сам javascript-код, который их генерит.

DeL Esprit
На сайте с 27.01.2010
Offline
223
#2
Boeses_Genie:
Навскидку: можно использовать регулярные выражения для выявления значения атрибута href этих ссылок. Можно использовать методы DOM. Чтобы понять, как и чем спарсить эти ссылки и предложить конкретное решение, нужно посмотреть сам javascript-код, который их генерит.

document.writeln(

'<br>-&nbsp;<a href="http://test.com/i.php?id=xxxxxxxx" class="class1" target=_blank onclick="javascript: r11105(this);">текст ссылки</a><br>

вот такой по виду ява-скрипт.

DeL Esprit добавил 26.01.2011 в 21:05

Вот дошел до такого(например если мне замену сделать):

<script type="text/javascript">

var str='кучатекста_test_кучатекста';
document.write(str.replace("test", "TEST"));

</script>

но как в str "впихнуть" данные другого ява-скрипта?

ДП
На сайте с 23.11.2009
Offline
203
#3

Странная постановка задачи - получить ссылки в php скрипте.

Вообще же можно через jQuery найти эти ссылки по классам - так вот

$("a.class1").each(function(){

alert($(this).attr('href'));

});

Дальше можете собрать их в одну строку допустим и отправить аякс-запросом на сервер.

DeL Esprit
На сайте с 27.01.2010
Offline
223
#4
Дикий пионер:
Странная постановка задачи - получить ссылки в php скрипте.

ну я хотел вывести эти ссылки на этой же странице, немного "подрихтовав". Мне "ближе" всего php ))

Дикий пионер:

Вообще же можно через jQuery найти эти ссылки по классам - так вот
$("a.class1").each(function(){
alert($(this).attr('href'));
});

сейчас почитаю про jQuery - может и пойму данный код и как его юзать :))

Дикий пионер:


Дальше можете собрать их в одну строку допустим и отправить аякс-запросом на сервер.

мне на сервер не обязательно отправлять, нужно использовать эту же ссылку на данной странице

ДП
На сайте с 23.11.2009
Offline
203
#5

$("a.class1").each(function(){

alert($(this).attr('href'));

});

Рассказываю:

$("a.class1") - находит все теги a с классом class1

each - вызывает функцию для каждого найденного тега

Внутри функции this будет ссылаться на найденный тег, $(this) делает из этого тега объект jquery, а метод .attr('href') возвращает значени атрибута href этого тега.

BG
На сайте с 09.10.2010
Offline
3
#6

Вот код, который парсит все ссылки на странице с определенным классом. Размещать внизу перед закрывающим тегом </body>. Вместо document.write можно использовать какую-нибудь функцию, чтобы, к примеру, отправить данные на сервер:

<script type="text/javascript">

var links = document.links;

for(i=0;i<links.length;i++)

{

if(links.className == "class1")
document.write(i+1 + '. ' + links.href + '<br>');
}
</script>
И не используем jQuery.

DeL Esprit
На сайте с 27.01.2010
Offline
223
#7
Boeses_Genie:
Вот код, который парсит все ссылки на странице с определенным классом. Размещать внизу перед закрывающим тегом </body>. Вместо document.write можно использовать какую-нибудь функцию, чтобы, к примеру, отправить данные на сервер:
<script type="text/javascript">
var links = document.links;
for(i=0;i<links.length;i++)
{
if(links.className == "class1")
document.write(i+1 + '. ' + links.href + '<br>');
}
</script>
И не используем jQuery.

круто! вроде то что надо - сейчас попробую.

DeL Esprit добавил 26.01.2011 в 22:32

Boeses_Genie:
Вот код, который парсит все ссылки на странице с определенным классом. Размещать внизу перед закрывающим тегом </body>. Вместо document.write можно использовать какую-нибудь функцию, чтобы, к примеру, отправить данные на сервер:
<script type="text/javascript">
var links = document.links;
for(i=0;i<links.length;i++)
{
if(links.className == "class1")
document.write(i+1 + '. ' + links.href + '<br>');
}
</script>
И не используем jQuery.

а как передать links.href, допустим в следующий ява-скрипт? 😒

BG
На сайте с 09.10.2010
Offline
3
#8
DeL Esprit:
круто! вроде то что надо - сейчас попробую.

DeL Esprit добавил 26.01.2011 в 22:32


а как передать links.href, допустим в следующий ява-скрипт? 😒

Смотря, с какой целью. Если при каждой итерации должны выполняться какие-то действия, то можно написать функцию и в этом же блоке кода вызывать ее для каждого подходящего элемента массива. А в качестве аргумента этой функции передавать links.href.

DeL Esprit
На сайте с 27.01.2010
Offline
223
#9
Boeses_Genie:
Смотря, с какой целью. Если при каждой итерации должны выполняться какие-то действия, то можно написать функцию и в этом же блоке кода вызывать ее для каждого подходящего элемента массива. А в качестве аргумента этой функции передавать links.href.

ну мне просто в следующем(ниже по странице), пусть будет ява-скрипте, вывести эту ссылку+определенный текст.

Просто практически ничего не смыслю в ява-скриптах(сейчас по-ходу читаю)

Вот есть в следующем Ява-скрипте вот такой массив "var href_array = new Array("http://site1.ru", "http://site2.ru");" и туда вместо http://site1(2).ru вывести ссылку из links.href

DeL Esprit добавил 27.01.2011 в 00:05
Всё - понял. Голова уже не варит )) задаем просто глобальную переменную.

Спасибо всем откликнувшимся, особенно Boeses_Genie

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий