Как интегрировать python с приложением Xamarin Android для просмотра веб-страниц - PullRequest
0 голосов
/ 19 января 2020

У меня и моего друга была идея создать какое-то программное обеспечение для веб-поиска, и в итоге мы остановились на мобильном приложении (Android). Основная идея такова: мы предоставляем пользователю список музыкальных c фестивалей, пользователь выбирает один, а когда он это делает, отображается список текущих подтвержденных исполнителей для этого фестиваля (мы хотим, чтобы он отображал до Список дат). Список извлекается с помощью python сценариев (обратите внимание, что целью является не развертывание или получение прибыли (по крайней мере, прямо сейчас), таким образом, это очень краткое объяснение).

Мой вопрос, как бы я go о интегрировать скрипты python с мобильным приложением? В данный момент я знаю, что вы можете позвонить им по номеру C#, но я не уверен, что это сработает в мобильной среде. Кроме того, я видел, как кто-то сказал, что нужно разместить сценарии на веб-сервере, а затем выполнить их через вызовы API, но этот человек не расширился, и я не уверен, как это сделать.

Любое понимание этого вопроса или полезные ссылки будут полезны. Спасибо!

1 Ответ

0 голосов
/ 19 января 2020

Вы можете сделать это в C#, используя HttpClient и HtmlAgilityPack; Вам понадобится:

using System.Net.Http;
using HtmlAgilityPack;

Создайте такие методы:

public static HtmlNode GetNodeById(HttpClient client, string url, string divId)
{
    string pageHtml = "";
    using (HttpResponseMessage response = client.GetAsync(url).Result)
    {
        using (HttpContent content = response.Content)
        {
            pageHtml =  content.ReadAsStringAsync().Result;
        }
    }

    var doc = new HtmlDocument();
    doc.LoadHtml(pageHtml);
    HtmlNode node = doc.GetElementbyId(divId);
    return node;
}

И вызовите вот так (где «musiciansDiv» - это div, содержащий информацию, необходимую вашему приложению):

static HttpClient client = new HttpClient();
var musicians = GetNodeById(client, "http://gigs.example.com", "musiciansDiv");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...