Nano Hash - криптовалюты, майнинг, программирование

получить значение переменной с внешней веб-страницы для обработки?

Позвольте мне начать с того, что я почти ничего не знаю о PHP, но я думаю, что это может оказаться лучшим способом сделать то, что я пытаюсь сделать. Я хотел бы получить значение переменной с внешней страницы, чтобы затем обработать его для создания графиков и статистики на моей странице. Пример страницы, с которой я пытаюсь получить переменную (требуется учетная запись Facebook): http://superherocity.klicknation.com/game/pages/battle_replay.php?battle=857337182

Имя переменной — fvars, и она содержит данные о том, что 2 игрока использовали для атак, какой урон они нанесли и т. д. В конечном счете, я хотел бы предоставить страницу с формой, где игрок может перейти и подключить свой повтор. ссылку (как выше) и получить хороший аккуратный подробный разбор битвы.

По крайней мере, если бы кто-нибудь мог объяснить мне, как просто вывести значение fvars после отправки формы с URL-адресом воспроизведения в качестве входных данных, это бы очень помогло!!! Я пытался просмотреть некоторые ссылки на PHP и другие сообщения здесь, но до сих пор был потерян. :(

Спасибо за любую помощь или руководство.

30.11.2012

  • Только то, что ниже, как я понял, не сработает <?php $file = file_get_contents('http://superherocity.klicknation.com/game/pages/battle_replay.php?battle=857337182'); Echo $fvars; ?> 01.12.2012
  • К сожалению, это просто приведет к получению содержимого этой страницы без каких-либо необходимых файлов cookie для аутентификации. Не уверен, что файлы cookie будут работать, но вы можете поэкспериментировать с комментарием bash wget. Это позволяет вам передавать файлы cookie. Тогда вам нужно будет разобрать страницу. Переменная не будет автоматически установлена ​​ни с помощью file_get_contents, ни с помощью wget. 02.12.2012
  • Как работает эта страница — shc-strategy.com? Он делает именно то, что я пытаюсь сделать. :( 03.12.2012

Ответы:


1

Один из способов приблизиться к этому — использовать Selenium. Вам нужно будет настроить сервер селена и браузер, а затем написать сценарий селена, чтобы получить страницу для вас. Ключевым моментом здесь является то, что селен может запускать клиент Firefox с javascripts, входами в Facebook и т. Д., Все, что у вас есть в обычном Firefox, через селен программно.

Я запускаю селен в среде Linux и управляю им через скрипты php cli. Я запускаю java selenium-server-standalone вместе с framebuffered X и firefox. В библиотеке модульных тестов PHP уже есть расширение, хотя оно вам явно не понадобится для тестирования.

30.11.2012

2

Вы можете получить содержимое любой веб-страницы следующим образом:

$homepage = file_get_contents('http://www.example.com/');
echo $homepage;

А затем просто используйте регулярное выражение или простой поиск, чтобы найти нужную переменную в $homepage. Проблема в том, что вам нужно авторизоваться через Facebook. Я не знаю текущего способа сделать это динамически с помощью PHP. Майк

Изменить: нашел вопрос SO, который касается именно этой проблемы - Scraping с веб-сайта для этого требуется вход в систему?

30.11.2012
  • Часть входа в систему не требуется, так как только те, кто использует страницу, уже будут авторизованы. Итак, если я использую приведенную выше команду для чтения всего содержимого страницы в переменную $homepage, могу ли я затем напрямую ссылаться на переменные, содержащиеся на этой странице? Например, если я последую вашей команде выше с помощью команды echo fvars, будет ли она выводить значение fvars? 30.11.2012
  • Не имеет значения, если пользователь вошел в свой локальный браузер как клиент. Код PHP выполняется на задней панели вашего веб-сервера. Этот код PHP — это то, что нужно для входа в систему, чтобы получить переменную. В ссылке, которую я привел выше, некоторые люди дали несколько вариантов. Или попробуйте идею Оли, с которой я не знаком. 30.11.2012
  • Другой игрок уже создал страницу, похожую на то, что я пытаюсь сделать — shc-strategy.com - где игрок может подключить ссылку повтора. Если у вас есть учетная запись Facebook и игровая учетная запись (она использует Facebook Connect), вы можете получить доступ к URL-адресам воспроизведения. Другой игрок не решил постоянно делиться своей страницей со всеми. Я хотел бы сделать подобный ресурс доступным постоянно для всех, независимо от того, на его стороне вы или нет. 30.11.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..