Разница между GET и исходным кодом

Khaan27

Client
Регистрация
06.10.2014
Сообщения
115
Благодарностей
22
Баллы
18
Всем привет
Мне нужно получить спарсить данные из исходного кода страницы
Я делаю Get-запрос к целевому url, но в возвращаемых данных содержимое отличается от того, которое выводится в исходном коде
Как можно решить эту проблему?
Можно ли как-то получить исходный код не нагружая сервер загрузкой страницы?
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 369
Благодарностей
959
Баллы
113
Можно ли как-то получить исходный код не нагружая сервер загрузкой страницы?
Если кратко, то нет.
Но иногда бывает, что нужные данные подгружаются (обычно - в каком-нибудь JSON'е), поэтому надо смотреть в трафике, что грузится на стрнаице и, возможно, получать нужные данные get-запросом к другим урлам.
 
  • Спасибо
Реакции: Khaan27

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 130
Благодарностей
486
Баллы
83
В дополнении к сообщению выше. В большинстве своем, это связано с тем, что сайт написан не на голом html/css, а на использовании js-скриптов, которые берут данные из доп. источников и выводят её пользователю.
 

Khaan27

Client
Регистрация
06.10.2014
Сообщения
115
Благодарностей
22
Баллы
18
В дополнении к сообщению выше. В большинстве своем, это связано с тем, что сайт написан не на голом html/css, а на использовании js-скриптов, которые берут данные из доп. источников и выводят её пользователю.
А как эти скрипты выполнить?
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 369
Благодарностей
959
Баллы
113
А как эти скрипты выполнить?
Запустить браузер )))
Вообще, обычно не выполнять скрипт надо, а смотреть, откуда этот скрипт нужные данные берет/подгружает. И просто получать оттуда напрямую.
Проще показать страницу, откуда надо данные получить, думаю, быстрее подскажут, если решение "на поверхности".
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113

Khaan27

Client
Регистрация
06.10.2014
Сообщения
115
Благодарностей
22
Баллы
18
Проще показать страницу, откуда надо данные получить, думаю, быстрее подскажут, если решение "на поверхности".
Уже мозг сломал. Подскажите, если знаете.

Мне нужно автоматизировать подписку на паблик VK.

Подписка осуществляется POST-запросом с данными act=a_enter&al=1&hash=ПЕРЕМЕННАЯ1&pid=НОМЕР ПАБЛИКА&ref=community_page&trackcode=ПЕРЕМЕННАЯ2
ПЕРЕМЕННАЯ1 парсится регуляркой (?<="enterHash":").*?(?=")
ПЕРЕМЕННАЯ2 - (?<=data-trackcode=").*?(?=")

Они успешно парсятся из {-Page.Source-}, но мне нужно подгружать их без загрузки страницы. В GET-запросе к URL'у паблика их не найти.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
Уже мозг сломал. Подскажите, если знаете.

Мне нужно автоматизировать подписку на паблик VK.

Подписка осуществляется POST-запросом с данными act=a_enter&al=1&hash=ПЕРЕМЕННАЯ1&pid=НОМЕР ПАБЛИКА&ref=community_page&trackcode=ПЕРЕМЕННАЯ2
ПЕРЕМЕННАЯ1 парсится регуляркой (?<="enterHash":").*?(?=")
ПЕРЕМЕННАЯ2 - (?<=data-trackcode=").*?(?=")

Они успешно парсятся из {-Page.Source-}, но мне нужно подгружать их без загрузки страницы. В GET-запросе к URL'у паблика их не найти.
значит они генерируются в JS на странице. надо найти код который это генерирует и повторить в своей логике.
 

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 112
Благодарностей
196
Баллы
63
решить эту проблему
Приветствую.
Не помню, можно ли связать с зенкой HtmlAgiltyPack, в нем оч удобно подобные вашему запросы делать:
C#:
using HtmlAgilityPack;

var url = "https://example.com";
var web = new HtmlWeb();
var document = web.Load(url);
var html = document.DocumentNode.InnerHtml; // Получить содержимое страницы в виде строки
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)