Доброй ночи, форумчане! помогите превратить [ссылка удалена] в код (в txt файл или в string, без разницы) сайт вроде на яве сделан
Спасибо.
Изменено: - 19.12.2014 02:01:32
Пользователь
Сообщений: Регистрация: 15.09.2012
19.12.2014 01:51:35
При чем здесь Excel?
Пользователь
Сообщений: Регистрация: 17.12.2014
19.12.2014 01:52:22
как причем. на vba макросах же сохранить код страницы, имея ссылку
Изменено: - 19.12.2014 01:54:27
Пользователь
Сообщений: Регистрация: 15.09.2012
19.12.2014 01:56:18
Первая ссылка ведет к игрушке, вторая - к коду html, О макросах - только в заглавии темы. Потому и вопрос. Если я озаглавлю тему "Фотошоп на макросах", это не значит, что такое осуществимо.
Пользователь
Сообщений: Регистрация: 17.12.2014
19.12.2014 02:00:14
вторая ссылка - и есть код страницы из первой ссылки а как лучше назвать тему? "изъять код html страницы макросом" ?
Изменено: - 19.12.2014 02:00:34
Пользователь
Сообщений: Регистрация: 15.09.2012
19.12.2014 02:04:01
Ссылку на игру удалил. Реклама? Не реклама? Грузится очень долго... Без ссылки можно как-то что-то объяснить? Пример, может быть...
Ждите специалистов. Если сообщат, что то, что Вы хотите, возможно и для этого нужна ссылка - показывайте.
Пользователь
Сообщений: Регистрация: 17.12.2014
19.12.2014 02:07:13
как можно без ссылки? там именно определенный сайт, который нужно запарсить запарсить через WinHttpRequest или через MSXML2.ServerXMLHTTP не получается, потому что они выдают не код страницы, а кучу мусора (из-за того, что страница на яве написана, я так думаю) другие сайты нормально парсятся этими методами. но именно по той ссылке, что я написал - не хочет поэтому я хочу узнать альтернативный метод а показывать код на любом другом сайте не имеет смысла, потому что он может на другом работать, а на этом, что был по ссылке не сработать да и смысл рекламить всем известный сайт в своей тематике на форуме спецов по экселю.. если та ссылка на игру не подходит - могу дать на любую другую, хоть на Doom 95 года. его то уж не надо рекламить если нужно - могу сделать на примере файла, чтобы ссылки не светить...
Вам виднее, можно ли отобразить в файле. Так и надо было сделать. 1. Послать людей по ссылкам, одна из которых долго грузится. 2. Показать пример в файле. Помощь быстрее придет по какому варианту?
Пользователь
Сообщений: Регистрация: 17.12.2014
19.12.2014 02:20:04
прикрепил файл в сообщение #7 можно и не грузить ссылки. первую можно сразу отдать на обработку в макрос а вторая просто для примера что должно получиться. если ее долго грузить - то говорю, что там должно получиться не 500 строк, а 2500 потому что многие команды выдают код на 500 строк, который фактически неправильный
Изменено: - 19.12.2014 02:22:35
Пользователь
Сообщений: Регистрация: 09.04.2013
19.12.2014 02:26:09
Цитата
vikttur пишет: Если я озаглавлю тему "Фотошоп на макросах", это не значит, что такое осуществимо.
Виктор, а я управлял фотошопом при помощи vba с Excel
Пользователь
Сообщений: Регистрация: 15.09.2012
19.12.2014 02:37:01
Да ты можешь Лучше автору напиши, возможно ли желаемое.
Пользователь
Сообщений: Регистрация: 09.04.2013
19.12.2014 03:10:53
Кода не увидел в файле. Все можно,только представляться всегда надо правильно.
Код
Function UseGoogle() As String
URL$ = "http://www.ag.ru/games/last-of-us"
Dim XMLHTTP, ADOStream, FileName
On Error Resume Next
Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
XMLHTTP.Open "Get", URL$, "False"
XMLHTTP.setRequestHeader "Accept-Encoding", "gzip,deflate"
XMLHTTP.setRequestHeader "user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"
XMLHTTP.setRequestHeader "Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
XMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLHTTP.send
If XMLHTTP.statustext = "OK" Or XMLHTTP.Status = 200 Then
Debug.Print XMLHTTP.responseText
UseGoogle = XMLHTTP.responseText
End If
Set XMLHTTP = Nothing
End Function
Если результат нужен в ячейках, - можно использовать веб-запрос (на ленте ДАННЫЕ - ИЗ ИНТЕРНЕТА. вводите ссылку, жмёте ПУСК, выбираете нужную таблицу, жмёте ИМПОРТ)
А если надо скачать страницу, выбрать из неё нужные данные, и вывести красивую табличку в Excel, причем без единой строки кода, — есть готовое решение:
(там всё можно настроить под любой сайт)
Пользователь
Сообщений: Регистрация: 25.12.2012
19.12.2014 07:47:11
объясните, пжлста, неучу, почему при открытии ссылки в браузере код страницы отличается от кода, полученного макросом Doober-а?
Учимся сами и помогаем другим...
Пользователь
Сообщений: Регистрация: 17.12.2014
19.12.2014 08:26:45
Doober, спасибо за уделенное время, все работает Игорь, спасибо за предложение ber$erk, я сначала тоже хотел написать тоже самое, но был настолько глуп, что проверял код через вставку в ячейку. а она как раз режет до 500 строк, поэтому я и считал, что код не прорабатывает правильно. точно так же наверное вчера и пропустил подобные варианты кода пока гуглил, потому что тоже вставлял результат в ячейку для проверки
точно также и с моими имеющимися макросами. они все вставляют результат в ячейки для сравнения. и везде обрезалось до 500 строк, поэтому я и начал искать другие варианты. а при вторичной правильной проверке оказывается срабатывает любой код
Изменено: - 19.12.2014 08:34:15
Пользователь
Сообщений: Регистрация: 25.12.2012
19.12.2014 08:33:47
я текст не из ячейки смотрел, а Immideate window. Там весь код целиком. Могу предположить, что процесс происходит так: 1) отправляется запрос на сайт 2) возвращается код страницы (макрос Doober-а) 3) браузер обрабатывает код страницы (прогоняет скрипты и формирует итоговую страницу) 4) браузер отрисовывает запрошенную страницу (код страницы из браузера)
Прошу поправить, если я что-то не так понял.
Учимся сами и помогаем другим...
Пользователь
Сообщений: Регистрация: 17.12.2014
19.12.2014 08:36:38
Цитата
ber$erk пишет: Там весь код целиком
у Immideate window тоже есть ограничения по количеству символов лично у меня оно выдает всего 200 последних строк, а первые 2300 обрезает
Изменено: - 19.12.2014 11:47:12
Пользователь
Сообщений: Регистрация: 25.12.2012
19.12.2014 08:40:42
точно. сразу не обратил внимание. Т. е. все идентично
Учимся сами и помогаем другим...
Пользователь
Сообщений: Регистрация: 21.12.2012
19.12.2014 09:35:34
Цитата
Doober пишет: If XMLHTTP.statustext = "OK" Or XMLHTTP.Status = 200
А какой смысл данного участка кода?
There is no knowledge that is not power
Пользователь
Сообщений: Регистрация: 27.11.2013
19.12.2014 11:26:21
Цитата
Doober пишет: Все можно,только представляться всегда надо правильно.
если вдруг под рукой найдётся линк, где можно почитать как правильно, оставьте please в теме... а то спросить даже боязно, даже у Google, да и в теме... чувствуется, что ответ будет длинный :( ... но молчать долго сложно :oops: очень интересно поковырять эти строки, если знать о чём они... .setRequestHeader - это в смысле к той кодировке относится, которая обычно в начале html кода описывается на каждой странице??... P.S. или кода, например, может быть достаточно - без объявления .setRequestHeader?
Изменено: - 19.12.2014 11:37:03
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Первоначально в моем шаблоне статус текст был прописан,не срабатывало
Цитата
JeyCi пишет: может быть достаточно - без объявления .setRequestHeader?
Не всегда это проходит. Пошлю только в . Для парсинга использую: Fiddler - программа для перехвата и анализа трафика. В нем же просматриваю заголовки. SeaMonkey-хороший редактор html кода,Firefox-отличное дополнение -Web Developer. Остальное опыт от набитых шишок за несколько лет.
PS:Очень люблю посылать в гугл
Изменено: - 19.12.2014 14:22:48
Пользователь
Сообщений: Регистрация: 21.12.2012
19.12.2014 20:03:28
Цитата
Doober пишет: Первоначально в моем шаблоне статус текст был прописан,не срабатывало
Ну и зачем его тогда проверять, когда есть код статуса?
хорошее место... хоть пока и непонятное... спасибо! оказывается даже из chrome можно взять заголовки: "Если вы пользуетесь браузером Chrome, просмотреть всю информацию можно, нажав на кнопку настройки - инструменты - инструменты разработчика. Вкладка networks." (ПКМ-->Copy Request Headers)
Изменено: - 20.12.2014 16:42:11
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Пользователь
Сообщений: Регистрация: 27.11.2013
20.12.2014 16:41:42
оказывается, в PHP вообще одним словом можно достать заголовки - getallheaders ... жаль на vba такого универсального не написать, чтобы MsgBoх'ом выкинуть по заголовкам... остаётся подсматривать в Fiddler
Изменено: - 20.12.2014 16:53:09
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Пользователь
Сообщений: Регистрация: 23.12.2012
20.12.2014 19:05:42
Цитата
в PHP вообще одним словом можно достать заголовки - getallheaders ... жаль на vba такого универсального не написать
а вы пробовали, прежде чем это написать?
Код
ResponseHeaders$ = wHTTP.GetAllResponseHeaders
Пользователь
Сообщений: Регистрация: 27.11.2013
20.12.2014 19:41:40
Цитата
Игорь пишет: а вы пробовали, прежде чем это написать?
в отличие от некоторых - всегда пробую понять, прежде чем писать (в силу своих знаний) и отвечаю так же полно (в силу своих знаний)
p.s. не хотите делиться инфо... берите на слабо себя
Изменено: - 20.12.2014 20:01:13
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Пользователь
Сообщений: Регистрация: 27.11.2013
20.12.2014 19:58:08
встречался (и был адаптирован) такой вариант, но такое ощущение, что не все заголовки отображает
Код
Function GetHeader(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "HEAD", sURL, False
oXHTTP.send
GetHeader = oXHTTP.getAllResponseHeaders()
End Function
Sub test()
Dim sURL As String
sURL = "http://www.cmegroup.com/trading/fx/g10/euro-fx_quotes_settlements_options.html?exchange=XCME&productCd=6EH4&underlyingContract=6E&floorContractCd=ECH4&expMonth=201403&prodid="
MsgBox GetHeader(sURL)
End Sub
P.S. встретился и (!!) для взятия заголовков... и ещё и про
Изменено: - 29.12.2014 13:07:40
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Пользователь
Сообщений: Регистрация: 27.11.2013
21.12.2014 01:23:16
... ...на память ... оказывается, уже первая цифра статуса скажет о многом... ранее она бы мне ничего не сказала
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Пользователь
Сообщений: Регистрация: 09.04.2013
21.12.2014 01:41:43
А я больше кодов состояния
Пользователь
Сообщений: Регистрация: 27.11.2013
21.12.2014 01:50:09
. я не сомневаюсь - но мне понравилось, что здесь так коротенько - выучить хоть бы 5 цифр - и то буду подсматривать - голова забита другим - не запомню всё ввиду нечастого использования... а так картинка хорошая в теме
Изменено: - 21.12.2014 01:51:12
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)