Если нужно достать все ссылки на определенной странице с помощью Python, это сделать совсем легко.Разберем такой пример. У нас есть HTML страница:
<html> <head> <title>Example</title> </head> <body> <div class='General'> <div class='First-class'> <p><a href='links what I need'>Link - links what I need</a></p> <p><a href='links what I'>Link - links what I</a></p> <p><a href='links what'>Link - links what</a></p> <p><a href='links'>Link - links</a></p> </div> </div> </body> </html>
Первый вариант скрипта такой:
import urllib.request from bs4 import BeautifulSoup html = urllib.request.urlopen('http://your/url') soup = BeautifulSoup(html, 'html.parser').find('div', class_='First-class') for i in soup.find_all('a', href=True): print(i['href'])
На выходе мы получим:
links what I need
links what I
links what
links
Второй вариант такой (используем модуль re – регулярные выражения):
import re pattern = re.compile(r'href="(.*)">') html = urllib.request.urlopen('http://your/url') soup = BeautifulSoup(html, 'html.parser').find('div', class_='First-class') print(re.findall(pattern, str(soup)))
И результат будет такой:
[‘links what I need’, ‘links what I’, ‘links what’, ‘links’]