Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 2
Регистрация: 17.01.2011
Сообщений: 103

Парсинг сайта без явного указания города

02.08.2015, 05:42. Показов 2316. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я тут решил парсить сайт technopoint.ru, но не пойму как заставить код понять какой город мне нужен. В адресе явно не указан город, как на многих сайтах (или отдельная папка или поддомен), тут город выбирается с помощью ява-скрипта и возможно хранится в куках. Помогите, пожалуйста.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.08.2015, 05:42
Ответы с готовыми решениями:

Динамический массив без явного указания размера
Самый праздный вопрос, наверное. И, вроде бы, я даже знаю ответ, но все-таки сомневаюсь. В С++ нельзя работать с динамическими...

Многомерный символьный(строковый) массив без явного указания разрядности
В общем нужно прям в коде создать массив, к примеру: char Mmas="Первая строка. Вторая строка. Третья строка."; (тут компилятор...

VirtualHost без явного указания хостов в конфиге (по именам папок)
Доброго времени суток, уважаемые сисадмины. Вопрос следующий. Используется Apache 2.2.4 под Win Server Имеется некая папка...

7
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
02.08.2015, 10:56
Похоже там отправляется запрос на technopoint.ru/setCity при выборе города. Можно попробовать исследовать этот запрос, узнать, какие параметры передаются и выполнять точно такой же, но например через CURL
0
1 / 1 / 3
Регистрация: 05.06.2014
Сообщений: 21
02.08.2015, 15:00
В Запросе браузер передает поле "Cookie", там два значения: __CITY__ и city_id, нужно просто выбрать нужный вам город и посмотреть какой запрос отправляется.

Вот я выбрал Ростов
Code
1
2
3
4
5
6
7
8
tp_session=miahquas1r19vfokgee6i34o27;
showcase_category_id=2152;
YII_CSRF_TOKEN=406c84ca6ce1a9d609a6263fbf9a028a75b617ec;
_ga=GA1.2.880199705.1438516476;
_gat=1;
_ym_visorc_22425643=w;
__CITY__=35;
city_id=923c7ab81fe6beaf84613d58f0b23314a7b11902s%3A2%3A%2235%22%3B
1
0 / 0 / 2
Регистрация: 17.01.2011
Сообщений: 103
02.08.2015, 16:54  [ТС]
На данном этапе я определил какие куки передаются, но появилась другая проблема.
PHP
1
2
$site = file_get_contents('http://technopoint.ru');
echo $site;
Выводит ошибку в логах: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

Что я делаю не так?

Добавлено через 10 минут
Т.е. failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found.

Не то скопировал)
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
02.08.2015, 22:31
Цитата Сообщение от Parallelogram Посмотреть сообщение
Что я делаю не так?
Может сайт добавил Вас в бан?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.08.2015, 15:32
Лучший ответ Сообщение было отмечено Parallelogram как решение

Решение

Используйте cURL. Там требуется передать юзерагента
PHP
1
2
3
4
5
6
7
8
9
10
$ch = curl_init();
 
curl_setopt_array($ch, array(
    CURLOPT_URL => 'http://technopoint.ru',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HEADER => false,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9',
));
echo curl_exec($ch);
curl_close($ch);
1
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
06.08.2015, 19:06
Цитата Сообщение от KOPOJI Посмотреть сообщение
Используйте cURL. Там требуется передать юзерагента
Через контекст его тоже можно передавать.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.08.2015, 18:21
alexsamos33, можно и так. Если, конечно, включено allow_url_fopen.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.08.2015, 18:21
Помогаю со студенческими работами здесь

Ошибка без явного указания слова base при создании перегруженных конструкторов
Не могу понять почему так, если у меня есть например вот такое: class Round { public string s; public...

Создать экземпляр класса без явного указания членов класса
Если у меня есть два конструктора, один из которых по умолчанию, а второй явный. Я почему-то не могу создать экземпляр класса без явного...

Как избавиться от явного указания пространства имен
Есть класс, который нужно вынести в другой файл. Соответственно что делаю: 1. Описание класса в *.h файл 2. Реализацию методов...

Напечатать конец файла (с возможностью явного указания номера строки)
№1. Разработать командный файл, который бы получил в качестве аргумента имя текстового файла и выводил на экран информацию о том сколько...

PIVOT без явного перечисления столбцов
Сразу признаюсь, что вопрос не преследует никакой конкретной практической цели, а только познавательную: осваиваю MS SQL Server после MS...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru