Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 8, 2016 21:17:31

casiy
Зарегистрирован: 2014-01-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь в return

Код:

 from urllib.request import urlopen
from bs4 import BeautifulSoup
def fun():
    quest = 'https://python.org/'
    url = urlopen(quest).read()
    soup = BeautifulSoup(url, "html.parser")
    for links_a in soup.find_all('a'):
        return links_a.get('href')
if __name__ == '__main__':
    print(fun())

Почему возвращает только одну ссылку а не все со страницы.Подскажите.

Офлайн

#2 Ноя. 8, 2016 21:29:37

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Помощь в return

потому что return выходит из функции, тем самым прерывая ее выполнение



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Ноя. 8, 2016 21:56:57

casiy
Зарегистрирован: 2014-01-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь в return

А как тогда можно это сделать,чтоб вызвать эту функцию и получить все линки.

Отредактировано casiy (Ноя. 8, 2016 22:01:07)

Офлайн

#4 Ноя. 8, 2016 22:09:36

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

Помощь в return

 from urllib.request import urlopen
from bs4 import BeautifulSoup
  
def fun():
    quest = 'https://python.org/'
    url = urlopen(quest).read()
    soup = BeautifulSoup(url, "html.parser")
    for links_a in soup.find_all('a'):
        yield links_a.get('href')
  
if __name__ == '__main__':
    print(list(fun()))



Офлайн

#5 Ноя. 9, 2016 16:54:30

casiy
Зарегистрирован: 2014-01-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь в return

Спасибо всем.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version