для вывода цикла в один список - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь извлечь несколько ссылок, содержащих другие ссылки, и изо всех сил пытаюсь получить выходные данные цикла for в единый список, как указано ниже.

Мой код:

pages = ['https://pagetoscrape.com/?page=1',
         'https://pagetoscrape.com/?page=2',
         'https://pagetoscrape.com/?page=3'
        ]

for u in pages:
    response = requests.get(u)
    data = response.content
    soup = BeautifulSoup(data, 'lxml')
    for links in soup.find_all('div', class_='item-to-scrape'):
        link = links.a['href']

        print(link)

Вывод:

pagetoscrape.com/url1
pagetoscrape.com/url2
pagetoscrape.com/url3
pagetoscrape.com/url4
pagetoscrape.com/url5
pagetoscrape.com/url6
pagetoscrape.com/url7
...

Как получить такой список, чтобы использовать его позже для других операций (другой цикл, который выбирает ссылки по одной), аналогично переменной массива "pages"?

['pagetoscrape.com/url1', 'pagetoscrape.com/url2', 'pagetoscrape.com/url3', 'pagetoscrape.com/url4', ...]

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Создайте свой список с пониманием списка:

link_list = [links.a['href']
                for links in soup.find_all('div', class_='item-to-scrape') ] 
0 голосов
/ 19 сентября 2019

Если я правильно понимаю, вы хотите что-то вроде этого.

pages = ['https://pagetoscrape.com/?page=1',
         'https://pagetoscrape.com/?page=2',
         'https://pagetoscrape.com/?page=3'
        ]

urls = []

for u in pages:
    response = requests.get(u)
    data = response.content
    soup = BeautifulSoup(data, 'lxml')
    for links in soup.find_all('div', class_='item-to-scrape'):
        link = links.a['href']
        urls.append(link)
        print(link)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...