Скребок запрашивает изображение повреждено

попробуйте this

, затем напишите этот код, чтобы получить рисованное растровое изображение, затем преобразуйте растровое изображение в файл

public void doTheJob(){
Bitmap bitmap= BitmapFactory.decodeResource(context.getResources(),
                                           R.drawable.icon_resource);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bytes);

//you can create a new file name "test.jpg" in sdcard folder.
File f = new File(Environment.getExternalStorageDirectory()
                        + File.separator + "test.jpg");
f.createNewFile();
//write the bytes in file
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());


new Compressor(this).compressToFileAsFlowable(f)
                       .subscribeOn(Schedulers.io())
                       .observeOn(AndroidSchedulers.mainThread())
                       .subscribe(file -> getTheBitmapOfTheFile(file), throwable -> throwable.printStackTrace());
// remember close de FileOutput
fo.close();
}

public void getTheBitmapOfTheFile(File file){
        Bitmap bitmap = null;
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inPreferredConfig = Bitmap.Config.ARGB_8888;
        try {
            bitmap = BitmapFactory.decodeStream(new FileInputStream(file), null, options);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
}

, но, пожалуйста, не забудьте на разрешение чтения и записи на внешнее хранилище

0
задан Momo 20 January 2019 в 07:45
поделиться

1 ответ

Похоже, вам нужно передать несколько заголовков. Нижняя часть кода для записи файла изображения: @Deepspace

from bs4 import BeautifulSoup
import requests

url = "https://www.webtoons.com/en/comedy/bluechair/ep-366-husk/viewer?title_no=199&episode_no=538"
headers={
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36',
        'Referer' : url
    }

r = requests.get(url, headers = headers)
soup=BeautifulSoup(r.content,'lxml')
imgs=[link['data-url'] for link in soup.select('#_imageList img')]

counter = 0
for img in imgs:
    counter = counter + 1
    filename = 'image' + str(counter) + '.jpg'
    with open(filename, 'wb') as handle:
        response = requests.get(img, stream=True, headers = headers)

        if not response.ok:
            print(response)

        for block in response.iter_content(1024):
            if not block:
                break
            handle.write(block)
0
ответ дан QHarr 20 January 2019 в 07:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: