Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] как сохранить с помощью save2go.ru МНОГО ссылок?

Ответить
Настройки темы
[решено] как сохранить с помощью save2go.ru МНОГО ссылок?

Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


как сохранить с помощью save2go.ru МНОГО ссылок?

есть 800 ссылок на страницы с флэш-видео. (не ютуб и не прочие социалки)
по одной ссылке доставать через сайт тяжко
как все 800 ссылок пропустить списком через сайт и получить список прямых ссылок?

как это можно реализовать через AutoIt ?

Отправлено: 14:36, 21-08-2010

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата shadowbat:
как это можно реализовать через AutoIt ? »
Можно попробовать посылать запрос «http://save2go.ru/parse/?url=тут ссылка».

P.S
Есть сервис получше для этого, он извлекает все возможные флэш-ссылки на странице.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 15:57, 21-08-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


shadowbat,
Так можно попробовать:
Код: Выделить весь код
#include <IE.au3>
#include <Array.au3>

Dim $aUrl[3] = ['http://mult.ru/projects/mas/mults/mult_7.html', _
        'http://mult.ru/projects/mas/mults/mult_8.html', _
        'http://mult.ru/projects/mas/mults/mult_9.html']
Dim $aLinks[1][3]
$j = 0
$oIE = _IECreate('http://save2go.ru/')

For $i = 0 To UBound($aUrl) - 1
    $oForm = _IEFormGetCollection($oIE, 0)
    $oInput = _IEFormElementGetObjByName($oForm, 'url')
    _IEFormElementSetValue($oInput, $aUrl[$i])
    _IEFormSubmit($oForm)
    $oDiv = _IEGetObjById($oIE, 'pageFiles')
    $j += 1
    ReDim $aLinks[UBound($aLinks) + 1][3]
    $aLinks[$j][0] = $aUrl[$i]
    $aLinks[$j][1] = _IEPropertyGet($oIE, 'locationurl')
    $aLinks[$j][2] = StringRegExpReplace(_IEPropertyGet($oDiv, 'innerhtml'), '(?s).*?target=_blank>(http://.*?)</A></B>?.*', '\1')
Next
_IEQuit($oIE)
$aLinks[0][0] = UBound($aLinks) - 1
_ArrayDisplay($aLinks)
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:16, 21-08-2010 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата madmasles:
Так можно попробовать »
Для этого IE не нужен:

Код: Выделить весь код
#include <Array.au3>

Dim $aUrl[4] = [3, _
        'http://mult.ru/projects/mas/mults/mult_7.html', _
        'http://mult.ru/projects/mas/mults/mult_8.html', _
        'http://mult.ru/projects/mas/mults/mult_9.html']

Dim $aLinks[$aUrl[0]+1]
$aLinks[0] = $aUrl[0]

For $i = 1 To $aUrl[0]
    $sHtml = BinaryToString(InetRead("http://save2go.ru/parse/?url=" & $aUrl[$i]))
    $aLinks[$i] = StringRegExpReplace($sHtml, '(?s).*?<b><a href="(.*?)" target="_blank" onclick=".*">.*</a>.*', '\1')
Next

_ArrayDisplay($aLinks)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:46, 21-08-2010 | #4


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


Creat0R
1. немного не понял, что имелось ввиду.
по Вашей ссылке
Цитата:
Невозможно получить данные со страницы сайта
если Вы предлагаете руками забивать все адреса, то это невозможно.

2. по поводу сервиса "получше" - к сожалению он ничего не находит по скармливаемым ссылкам. а save2go дает реальную ссылку на ролик.

3. madmasles отличное решение!
только результат выдается вот так:
http://www.site.ru/...s/video/0001.f4v, т.е. урезанно.
как это вылечить?

пробовал сократить табличку для вывода
читать дальше »
Код: Выделить весь код
For $i = 0 To UBound($aUrl) - 1
    $oForm = _IEFormGetCollection($oIE, 0)
    $oInput = _IEFormElementGetObjByName($oForm, 'url')
    _IEFormElementSetValue($oInput, $aUrl[$i])
    _IEFormSubmit($oForm)
    $oDiv = _IEGetObjById($oIE, 'pageFiles')
    $j += 1
    ReDim $aLinks[UBound($aLinks) + 1][3]
    $aLinks[$j][2] = StringRegExpReplace(_IEPropertyGet($oDiv, 'innerhtml'), '(?s).*?target=_blank>(http://.*?)</A></B>?.*', '\1')
Next
_IEQuit($oIE)
$aLinks[0][0] = UBound($aLinks) - 1
_ArrayDisplay($aLinks)

но все хоть и количество выдаваемых столбцов уменьшилось с 3х до 1го. все равно сама таблица имеет формат 3х3, а самое главное - выходная ссылка видимо длинная или как... выдается в таком урезанном формате
Код: Выделить весь код
http://www.site.ru/...s/video/0001.f4v
________________________________________________
4. Creat0R - как раз то, что нужно. ссылка получается полная, только перед ней ставится колонка Row
[2]|http://www....
как ее удалить, чтобы для копирования осталась чистая ссылка? (конечно можно и в ворде через замену но для чистоты эксперимента по=хорошему нужно здесь)

P.S. получился мини-парсер (сегодня узнал это слово) - мне кажется отличный вариант

Последний раз редактировалось shadowbat, 21-08-2010 в 17:13.


Отправлено: 16:51, 21-08-2010 | #5


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Creat0R,
Согласен, с Вашим вариантом все это сделать можно гораздо быстрее и удобнее.


shadowbat,
В моем варианте попробуйте заменить эту строку:
Код: Выделить весь код
$aLinks[$j][2] = StringRegExpReplace(_IEPropertyGet($oDiv, 'innerhtml'), '(?s).*?href="(http://.*?)"\n?.*', '\1')
Но я бы на Вашем месте воспользовался вариантом Creat0R`a.

Последний раз редактировалось madmasles, 21-08-2010 в 17:03.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:51, 21-08-2010 | #6


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата shadowbat:
по Вашей ссылке »
Это был пример, вместо «тут ссылка» нужно подставить ссылку страницы с флэшками.

Цитата shadowbat:
по поводу сервиса "получше" - к сожалению он ничего не находит по скармливаемым ссылкам »
Пример можно этих ссылок?

Цитата shadowbat:
перед ней ставится колонка »
Это только при отображений, в массиве то их нет, вам нужно копировать список сразу в буфер? тогда так:

Код: Выделить весь код
Dim $aUrl[4] = [3, _
        'http://mult.ru/projects/mas/mults/mult_7.html', _
        'http://mult.ru/projects/mas/mults/mult_8.html', _
        'http://mult.ru/projects/mas/mults/mult_9.html']

$sLinks = ""

For $i = 1 To $aUrl[0]
    $sHtml = BinaryToString(InetRead("http://save2go.ru/parse/?url=" & $aUrl[$i]))
    $sLinks &= StringRegExpReplace($sHtml, '(?s).*?<b><a href="(.*?)" target="_blank" onclick=".*">.*</a>.*', '\1') & @CRLF
Next

ClipPut(StringStripWS($sLinks, 3))

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:15, 21-08-2010 | #7


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата shadowbat:
Только перед ней ставится колонка Row
[2]|http://www.... »
Или для сохранения в файл добавьте вначале скрипта #include <File.au3>, а в конце _FileWriteFromArray(@ScriptDir & '\MySuperLinks.txt', $aLinks, 1)
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:18, 21-08-2010 | #8


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата:
Пример можно этих ссылок?
http://www.teachvideo.ru/v/5471
http://iqcomp.ru/v/e2545

Отлично! благодарю за помощь! итого получилось 2 решения:
сохранение ссылок в буфер обмена:
Код: Выделить весь код
Dim $aUrl[4] = [3, _
        'http://mult.ru/projects/mas/mults/mult_7.html', _
        'http://mult.ru/projects/mas/mults/mult_8.html', _
        'http://mult.ru/projects/mas/mults/mult_9.html']

$sLinks = ""

For $i = 1 To $aUrl[0]
    $sHtml = BinaryToString(InetRead("http://save2go.ru/parse/?url=" & $aUrl[$i]))
    $sLinks &= StringRegExpReplace($sHtml, '(?s).*?<b><a href="(.*?)" target="_blank" onclick=".*">.*</a>.*', '\1') & @CRLF
Next

ClipPut(StringStripWS($sLinks, 3))
сохранение ссылок в файл:
Код: Выделить весь код
#include <File.au3>
#include <Array.au3>

Dim $aUrl[4] = [3, _
        'http://mult.ru/projects/mas/mults/mult_7.html', _
        'http://mult.ru/projects/mas/mults/mult_8.html', _
        'http://mult.ru/projects/mas/mults/mult_9.html']

Dim $aLinks[$aUrl[0]+1]
$aLinks[0] = $aUrl[0]

For $i = 1 To $aUrl[0]
    $sHtml = BinaryToString(InetRead("http://save2go.ru/parse/?url=" & $aUrl[$i]))
    $aLinks[$i] = StringRegExpReplace($sHtml, '(?s).*?<b><a href="(.*?)" target="_blank" onclick=".*">.*</a>.*', '\1')
Next

_ArrayDisplay($aLinks)	
_FileWriteFromArray(@ScriptDir & '\MySuperLinks.txt', $aLinks, 1)

Отправлено: 17:23, 21-08-2010 | #9


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата shadowbat:
сохранение ссылок в файл »
Зачем городить огород:

Код: Выделить весь код
Dim $aUrl = StringSplit( _
        'http://iqcomp.ru/v/e2545|' & _
        'http://teachvideo.ru/v/5471', _
        '|')

$sLinks = ""

For $i = 1 To $aUrl[0]
    $sHtml = BinaryToString(InetRead("http://save2go.ru/parse/?url=" & $aUrl[$i]))
    $sLinks &= StringRegExpReplace($sHtml, '(?s).*?<b><a href="(.*?)" target="_blank" onclick=".*">.*</a>.*', '\1') & @CRLF
Next

$sLinks = StringStripWS($sLinks, 3)

;В буфер обмена
ClipPut($sLinks)

;В файл
FileWrite(@ScriptDir & '\MySuperLinks.txt', $sLinks)
правда что то я не расмотрел там 800 ссылок

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:01, 21-08-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] как сохранить с помощью save2go.ru МНОГО ссылок?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
как сохранить с помощью save2go.ru МНОГО ссылок? shadowbat Хочу все знать 1 30-08-2010 12:33
Как сохранить фон при перерисовки положения линии созданной с помощью GDI HORRIBLE AutoIt 0 23-06-2010 18:00
Операционная система - как много в этом слове mitsumoto Программное обеспечение Linux и FreeBSD 1 20-06-2010 18:31
[решено] Где посмотреть список свойств ссылок (обычных ссылок интернета)? evg64 AutoIt 4 13-09-2009 13:41
Как отконвертировать html з ссылками в формат для вставки ссылок в форум? spiritmen Хочу все знать 2 23-05-2007 10:52




 
Переход