@acrytzat
Ничего не умею

Как сделать что бы не было вложенных масивов?

Есть код:
import urllib.request
from bs4 import BeautifulSoup
import requests
import json

def get_link(url):#Получение ссылок на задания
    html = urllib.request.urlopen(url)
    soup = BeautifulSoup(html, 'html.parser').find('div', id='taskCont', class_='taskCont')
    links = []
    for i in soup.find_all('a', href=True):
        a = i['href']
        link = url + a
        s = link[:23]
        u = 'json/'
        k=link[23:]
        suk = s+u+k
        suk=suk.replace('#task?t=','/')
        links.append(suk)
    return links

def get_url_for_img(url):
    data = requests.get(url).json()
    kuim = []
    for i in data['editions']:
        im = [j['url'] for j in i['images']]
        print(im)
        for ji in im:
            kuim.append(ji)
    return kuim

url = ''
s = get_link(url)
a = []
for y in s:
    k = get_url_for_img(y)
    print(k)

и он возвращает вот это:
['/attachments/images/tasks/000/001/887/0002/5a6491b599d46.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5ad9f0.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5adb74.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5add30.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5aded4.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5ae09d.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5ae2fc.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5ae4e1.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5bacc9.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5baf0a.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5bb09b.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5bb278.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5bb451.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5bb5f5.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5bb785.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5bf857.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5bfa5d.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5bfc1b.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5bfdbb.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5a536e.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5a54e1.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5a5668.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5a57b0.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5a5903.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5a87ad.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5a898b.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5a8b52.png']
['/attachments/images/tasks/000/001/887/0002/5a6491b5a8d1d.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5a8eb4.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5a9133.png']

а мне нужно чтобы все было по порядку в одном масиве:
['/attachments/images/tasks/000/001/887/0002/5a6491b599d46.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5ad9f0.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5adb74.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5add30.png', '/attachments/images/tasks/000/001/887/0002/5a6491b5aded4.png']

дело еще в том что в каждом ответе разное количество ссылок.
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
@AWEme
Retard Soft Inc.
Зачем urllib и requests вместе?

Если не менять логику программы, то вот эту часть:
for y in s:
    k = get_url_for_img(y)
    print(k)

Можно заменить на:
[get_url_for_img(y) for y in s]

Получится список со вложенными списками.
А с помощью from itertools import chain можно сделать так:
result = list(chain.from_iterable(get_url_for_img(y) for y in s))

В итоге обработаются все ссылки и будут лежать в одном списке.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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