Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2018, 22:29   #1
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию Почему обрезается ссылка?

Всем Доброго времени суток.
Требуется скачать картинки с многим известного сайта Steam.
Но при такой попытке, почему-то обрезается ссылка на знаке (#).
Может кто-то понимает в чём тут дело и поможет?
Заранее спасибо!
Код:
int s = 1;
int pages = 1;
            using (var RQ = new HttpRequest())
            {
                try
                {
                    for (int i = 0; i < 1041; i++)
                    {
                        var RS = RQ.Get("https://steamcommunity.com/market/search?appid=730#p" + pages + "_popular_desc").ToString();
                        string[] line = RS.Substrings("_image\" src=\"", "62fx62f\"");

                        for(int t = 0; t < line.Count(); t++)
                        {
                            var RS1 = RQ.Get(line[t] + "150fx150f").ToMemoryStream();
                            using (FileStream file = new FileStream("Skin-[" + s + "].png", FileMode.Create, FileAccess.Write))
                            {
                                RS1.WriteTo(file);
                            }
                            s++;
                        }
                        pages++;
                    }
                }
                catch
                {

                }
            }
stu_dent вне форума Ответить с цитированием
Старый 14.04.2018, 22:47   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

# - это для браузера, а не для сервера, соответственно в запросе не передаётся.
На сервер уходит запрос, который до решётки, а потом браузер перелистывает страницу к соответствующему "якорю"
pu4koff вне форума Ответить с цитированием
Старый 14.04.2018, 22:50   #3
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию

и как в таком случаи парсить?
stu_dent вне форума Ответить с цитированием
Старый 14.04.2018, 22:56   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

найти в браузере встроенный сниффер. Где-то в инструментах разработчика или правая кнопка на странице и пункт из серии "Посмотреть код страницы". Там вкладка Network/Сеть и т.п. Открываем нужную страницу и смотрим какие запросы шлются.
Я вот перешёл на вторую страницу и понял, что в итоге всё выливается в запрос:
Код:
https://steamcommunity.com/market/search/render/?query=&start=10&count=10&search_descriptions=0&sort_column=popular&sort_dir=desc&appid=730
в ответ приходит json с куском html-кода, в котором лежит описание нужных штук.
start - номер первого элемента. Для получения первой страницы это ноль.
count - размер страницы, можно получать, например, по 50 записей за запрос, а не по 10.
дальше там сортировку настроить можно и т.д. и т.п.
pu4koff вне форума Ответить с цитированием
Старый 14.04.2018, 22:57   #5
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию

Всё - разобрался, Спасибо вам за подсказку!
Вот три раза перелистнул страницу:
Код:
https://steamcommunity.com/market/search/render/?query=&start=20&count=10&search_descriptions=0&sort_column=popular&sort_dir=desc&appid=730
https://steamcommunity.com/market/search/render/?query=&start=30&count=10&search_descriptions=0&sort_column=popular&sort_dir=desc&appid=730
https://steamcommunity.com/market/search/render/?query=&start=40&count=10&search_descriptions=0&sort_column=popular&sort_dir=desc&appid=730
stu_dent вне форума Ответить с цитированием
Старый 15.04.2018, 00:54   #6
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию Оказалось ещё не всё!

при парсинге рано или поздно попадается Скин с китайскими символами в названии,
а именно - M4A4 | 龍王 (Король драконов),
(хочу чтоб сразу все названия спарсил, поэтому и дописал пару строк в код),
парсер сразу стопорится в этом месте,
что посоветуете в этом случаи?
PS. Как всегда, Заранее спасибо!)
Изображения
Тип файла: png 360fx360f.png (69.5 Кб, 44 просмотров)
stu_dent вне форума Ответить с цитированием
Старый 15.04.2018, 08:35   #7
stu_dent
Пользователь
 
Регистрация: 10.03.2016
Сообщений: 43
По умолчанию Решено!

Не стал заморачиваться и просто сделал Replace для этих символов:


ну и вот, что получилось:

Последний раз редактировалось stu_dent; 15.04.2018 в 08:54. Причина: новое
stu_dent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обрезается слайдер в моб. версии khramov HTML и CSS 0 07.05.2017 15:21
Обрезается область печати Promolol WPF, UWP, WinRT, XAML 1 03.12.2013 15:43
Обрезается referrer CodeNOT PHP 4 01.12.2012 15:21
при запуске процедуры обрезается значение до 1 символа kate158 БД в Delphi 0 14.07.2010 15:18
css меню обрезается другим div retail_ret HTML и CSS 2 13.08.2009 16:50