>$ pip install beautifulsoup4
Теперь воспользуемся им для того, чтобы получить все ссылки с веб-страницы. Элемент HTML a представляет собой ссылку, а href — ее атрибут, который представляет собой место назначения ссылки. В следующем примере мы определим функцию get_links(), которая делает грязную работу, и основную программу, которая получает один или несколько URL как аргументы командной строки:
>def get_links(url):
>····import requests
>····from bs4 import BeautifulSoup as soup
>····result = requests.get(url)
>····page = result.text
>····doc = soup(page)
>····links = [element.get('href') for element in doc.find_all('a')]
>····return links
>if __name__ == '__main__':
>····import sys
>····for url in sys.argv[1:]:
>········print('Links in', url)
>········for num, link in enumerate(get_links(url), start=1):
>············print(num, link)
>········print()
Я сохранил эту программу под именем links.py, а затем запустил с помощью данной команды:
>$ python links.py http://boingboing.net
Взгляните на первые несколько отображенных строк:
>Links in http://boingboing.net/
>1 http://boingboing.net/suggest.html
>2 http://boingboing.net/category/feature/
>3 http://boingboing.net/category/review/
>4 http://boingboing.net/category/podcasts
>5 http://boingboing.net/category/video/
>6 http://bbs.boingboing.net/
>7 javascript: void(0)
>8 http://shop.boingboing.net/
>9 http://boingboing.net/about
>10 http://boingboing.net/contact