scrape site beautifulsoup code example

Example 1: BeautifulSoup - scraping the link of the website

import requests
from bs4 import BeautifulSoup

page = requests.get('http://www.example.com')
soup = BeautifulSoup(page.content, 'html.parser')

print(soup.select_one('p a').attrs['href'])  # get the link of the website

Example 2: BeautifulSoup - scraping list from html

from bs4 import BeautifulSoup

# Simple HTML
SIMPLE_HTML = '''<html>
<head></head>
<body>
<h1>This is a title</h1>
<p class="subtitle">Lorem ipsum dolor sit amet.</p>
<p>Here's another p without a class</p>
<ul>
    <li>Sarah</li>
    <li>Mary</li>
    <li>Charlotte</li>
    <li>Carl</li>
</ul>
</body>
</html>'''

simple_soup = BeautifulSoup(SIMPLE_HTML, 'html.parser')      # use html.parser in order to understand the simple HTML

# Find list from html
def find_list():
    list_items = simple_soup.find_all('li')
    my_list = [e.string for e in list_items]  # convert list_items to string
    print(my_list)
    
find_list()