dimanche 14 avril 2019

How to increase speed of parsing website?

I start to make my application for android. I parse a website with Jsoup, after I get a response in form of name of university and url of website. The problem consists in speed of parsing of website. So, how to increase speed of parsing website. If you help me, I will be very thank you.

Here is code of my parser:

@Override
protected Void doInBackground(Void... voids)
{
    final String urlF = "https://www.google.ru/search?newwindow=1&ei=BU-iXLTUJYSxrgSC_LXwDw&q=";

    String Maths = MainActivity.MathsU.getText().toString();
    String Russian = MainActivity.RussianU.getText().toString();
    String Studies = MainActivity.Social_StudiesU.getText().toString();
    String Physics = MainActivity.PhysicsU.getText().toString();
    String History = MainActivity.HistoryU.getText().toString();
    String Biology = MainActivity.BiologyU.getText().toString();
    String Informatics = MainActivity.InformaticsU.getText().toString();
    String Chemistry = MainActivity.ChemistryU.getText().toString();
    String Literature = MainActivity.LiteratureU.getText().toString();
    String Geography = MainActivity.GeographyU.getText().toString();
    String English = MainActivity.EnglishU.getText().toString();

    try
    {
        Document documents = Jsoup.connect("http://vuzopedia.ru/vuzfilter?vuz=&price%5B%5D=0&price%5B%5D=1000000"
                + "&mat="
                + Maths + "&rus="
                + Russian + "&fiz=" + Physics + "&obshe="
                + Studies + "&ist=" + History + "&biol=" + Biology + "&inform="
                + Informatics + "&him=" + Chemistry + "&liter=" + Literature + "&georg=" + Geography
                + "&inyaz=" + English
        ).get();

        Elements page = documents.select(".pagination a[href]");
        lastPage = page.last().text();

        for(int i = 1; i <= Integer.parseInt(lastPage); i++) {
            Document document = Jsoup.connect(
                    "http://vuzopedia.ru/vuzfilter?vuz=&price%5B%5D=0&price%5B%5D=1000000"
                            + "&mat="
                            + Maths + "&rus="
                            + Russian + "&fiz=" + Physics + "&obshe="
                            + Studies + "&ist=" + History + "&biol=" + Biology + "&inform="
                            + Informatics + "&him=" + Chemistry + "&liter=" + Literature + "&georg=" + Geography
                            + "&inyaz=" + English  + "&page" + String.valueOf(i)

            ).get();

            Elements vuz = document.select(".itemVuzTitle");

            Document doc;
            Elements webSites;
            for (int t = 0; t < vuz.size(); t++) {
                NameOfUniversities = vuz.get(t).text();
                doc = Jsoup.connect(urlF + NameOfUniversities).get();
                webSites = doc.select(".TbwUpd cite[class]");
                UrlOfUniversities = webSites.first().text();
                items.add(new Items(NameOfUniversities, UrlOfUniversities));

            }
        }


    } catch (Exception e)
    {
        e.printStackTrace();
    }

    return null;
}

@Override
protected void onPostExecute(Void aVoid)
{
    super.onPostExecute(aVoid);
    adapter = new Adapters(items);
    MainUniversity.recyclerView.setAdapter(adapter);
}

Aucun commentaire:

Enregistrer un commentaire