Как догрузить страницу?

Alelsey1611

Client
Регистрация
18.08.2017
Сообщения
401
Благодарностей
27
Баллы
28
Мотаю кнопкой end в конец страницы, а страница не до гружается. Как так? Чем еще можно вызвать до загрузку страницы?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 469
Благодарностей
8 691
Баллы
113
Мотаю кнопкой end в конец страницы, а страница не до гружается. Как так? Чем еще можно вызвать до загрузку страницы?
а скроллится или стоит на месте?
если сама страница не скроллится, то нужно выполнить клик куда-нибудь внутрь страницы перед end..
 
  • Спасибо
Реакции: Alelsey1611

Alelsey1611

Client
Регистрация
18.08.2017
Сообщения
401
Благодарностей
27
Баллы
28
а скроллится или стоит на месте?
Да. Но она почему-то до половины скролится вроде как же до конца должна?
П.С. я это только сейчас заметил перемотаю несколько раз. Думаю должно решить проблему.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
На некоторых сайтах нужно показать активность мышкой, что бы сработали некоторые скрипты. Попробуй кликни в пустое поле, а потом проверь еще раз.
 
  • Спасибо
Реакции: Alelsey1611

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
  • Спасибо
Реакции: Alelsey1611

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Если парсер, то только запросы. Там разберется даже новичок.
 
  • Спасибо
Реакции: Dimionix

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
  • Спасибо
Реакции: Alelsey1611

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113

Alelsey1611

Client
Регистрация
18.08.2017
Сообщения
401
Благодарностей
27
Баллы
28
Лёха, если ты опять мучаешь тот сайт с китайскими купонами, то там не обязательно скроллить, проще делать постраничный навигейт =>
https://сайт_с_китайскими_купонами/page/1/
https://сайт_с_китайскими_купонами/page/2/
...
https://сайт_с_китайскими_купонами/page/n/

И вообще, делай на запросах!
Да я мучаю тот китайский сайт, и в этот раз я так и сделал навигейты. На запросах не пишу просто по тому что не умею. Но там полюбе приходится скролить. Вообщем я решил проблему со скролингам. Сам немного Тупонул. Но откуда не возьмись нарисовалась новая. Значит я парсю все хорошо, и тут эта гадость перекидывает меня на другую страницу не понимаю от чего. Но думаю что проверка на какой я страницы поможет. (Переделанная проверка текста на страницы). Надеюсь я правильно мыслью думаю получится
 

Alelsey1611

Client
Регистрация
18.08.2017
Сообщения
401
Благодарностей
27
Баллы
28
Да че там делать, получил GET, сделал регулярку, записал значение в список.
Я сделал гет. В тестер написал то что хотел чтобы спарсилось. Не увидел этого закрыл тестер. И удалил гет:D. Ладно попробую сейчас ещё раз на гетах написать. Мне просто геморрой копаться в этом коде.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Я сделал гет. В тестер написал то что хотел чтобы спарсилось. Не увидел этого закрыл тестер. И удалил гет:D. Ладно попробую сейчас ещё раз на гетах написать. Мне просто геморрой копаться в этом коде.
А по другому никак, приходиться копаться. Поставь программу notepad++, потом зайди в ВИД и нажми галку ПЕРЕНОС СТРОК. Так удобнее работать с HTML кодом. Пользуйся вкладкой Поиск-Найти, что бы найти нужный элемент и посмотреть что его окружает для составления регулярки.
 
  • Спасибо
Реакции: Alelsey1611

Alelsey1611

Client
Регистрация
18.08.2017
Сообщения
401
Благодарностей
27
Баллы
28
А по другому никак, приходиться копаться. Поставь программу notepad++, потом зайди в ВИД и нажми галку ПЕРЕНОС СТРОК. Так удобнее работать с HTML кодом. Пользуйся вкладкой Поиск-Найти, что бы найти нужный элемент и посмотреть что его окружает для составления регулярки.
Ну это я знаю. Спасибо.
 

Alelsey1611

Client
Регистрация
18.08.2017
Сообщения
401
Благодарностей
27
Баллы
28
Как это работает? Я хочу чтоб оно брало и сохраняло совподение в переменные, а оно одно возьмёт и все!
Screenshot_20170827-014520.png
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Немножко готовый парсер
C#:
IZennoTable table = project.Tables["Table"]; // талица, в которую складывать данные
int count = 10; // количество страниц, с которых парсить
string url = "https://сайт_с_китайскими_купонами.com"; // URL сайта
string protocol = string.Empty;
string proxy = string.Empty;
string userAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0";
string cookies = string.Empty;
string language = "en-US";
string referer = url;
string host = new Uri(url).Host;
string pageUrl = string.Empty;
string pageRef = string.Empty;

string pattern1= @"<article id=""post-[\w\W]*?<!-- #post-## -->";
string pattern2 = @"(Coupon \d+ \(.*?\)|Old coupons):";
string pattern3 = @"(?<=""(font-size:large|color:#8e8e8e);"">).*?(?=<)";
string pattern4 = @"(?<=""entry-title"">.*>).*?(?=</a>)";

for (int i = 0; i < count; i++) {
    if (i >= 1)
        pageUrl = "/page/" + (i + 1).ToString() + "/";
    if (i > 1)
        pageRef = "/page/" + i.ToString() + "/";
      
    // GET запрос
    string resultRequest = ZennoPoster.HttpGet(
        url + pageUrl,
        protocol + proxy,
        "UTF-8",
        InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
        30000,
        cookies,
        userAgent,
        true,
        5,
        new[] {
            "Host: " + host,
            "Accept: */*",
            "Accept-Language: " + language,
            "Accept-Encoding: gzip, deflate, br",
            "DNT: 1",
            "Connection: keep-alive",
            "Referer: " + referer + pageRef
        }
    );
  
    // Сообщение в лог
    project.SendInfoToLog("Парсим данные со страницы " + url + pageUrl, true);

    // Парсим данные со страницы
    MatchCollection mCol = Regex.Matches(resultRequest, pattern1);
    for (int j = 0; j < mCol.Count; j++) {
        string str = string.Empty;
        string str2 = string.Empty;
        MatchCollection mCol2 = Regex.Matches(mCol[j].Value, pattern2);
        MatchCollection mCol3 = Regex.Matches(mCol[j].Value, pattern3);
      
        for (int l = 0; l < mCol2.Count; l++)
            str += mCol2[l].Value.Trim() + " " + mCol3[l].Value.Trim() + "\r\n";
        str = str.Trim();
        if (str == string.Empty) continue;
      
        str2 = Regex.Match(mCol[j].Value, pattern4).Value.Replace("&nbsp;", " ").Trim();
      
        // Добавляем данные в таблицу
        lock (SyncObjects.TableSyncer)
            table.AddRow(str2 + ";" + str);
    }
}
 
  • Спасибо
Реакции: samsonnn

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