Jsoup с одними сайтами работает, с другими - нет

663
04 января 2017, 02:18

Здравствуйте! Стал интересен парсинг html-страниц, начал разбираться с Jsoup, почитал несколько довольно стареньких гайдов по этому поводу(там можно было выводить информацию со stackoverflow), сначала понял что в новых версиях андроида, с версии 4.0 введён запрет сетевые операции в основном потоке. Таким образом наткнулся на более новый видео-гайд, где как пример использовался примитивненький новостной сайт какого-то города. Так вот, с этим примером, а так же с некоторыми другими сайтами все проходит как надо, а вот когда я пытаюсь попробовать со stackoverflow ничего не выходит. Код:

 doc = Jsoup.connect("http://ru.stackoverflow.com/").get();
                content = doc.select(".question-hyperlink");
                titleList.clear();

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

package com.example.jaredbay.parsesite;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
public class MainActivity extends Activity {
    public Elements content;
    public ArrayList<String> titleList = new ArrayList<String>();
    private ArrayAdapter<String> adapter;
    private ListView lv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView)findViewById(R.id.listView1);
        new NewThread().execute();
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.pro_item, titleList);
    }
    public class NewThread extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... arg){
            Document doc;
            try {
                doc = Jsoup.connect("http://www.6262.com.ua/news").get();
                content = doc.select(".text");
                titleList.clear();
                for (Element contents: content){
                    titleList.add(contents.text());
                }
            }
            catch (IOException e){
                e.printStackTrace();
            }
            return null;
        }
        @Override
        protected void onPostExecute(String result){
            lv.setAdapter(adapter);
        }
    }
}

Помогите, пожалуйста, найти мою ошибку и как ее справить. Заранее спасибо! И с Новым годом всех!

READ ALSO
Mockito тестировние void метода

Mockito тестировние void метода

Тестируемый метод

744
Передача аргументов методу

Передача аргументов методу

При передаче объекта в качестве параметра методу ссылка должна копироватьсяТогда почему вывод 0 9 9, а не 9 9 9? Получается, s1 и s2 ссылаются на разные...

574
Как правильно организовать экспорт в Excel в Spring-MVC

Как правильно организовать экспорт в Excel в Spring-MVC

Добрый деньЕсть контроллер в котором есть метод поиска

474
Пример запроса Twitter Api android

Пример запроса Twitter Api android

Не могу найти ни один пример запроса Twitter Api androidЕсли кто может - предоставьте пример выполнения такого запроса в android

616