Web scraping dengan Python

Mengimpor Data Tingkat Menengah di Python

Hugo Bowne-Anderson

Data Scientist at DataCamp

HTML

  • Campuran data tidak terstruktur dan terstruktur

  • Data terstruktur:

    • Memiliki model data yang sudah ditetapkan, atau

    • Tersusun dengan cara yang terdefinisi

  • Data tidak terstruktur: tidak memiliki kedua sifat ini

ch_1_3.008.png

Mengimpor Data Tingkat Menengah di Python

BeautifulSoup

  • Mengurai dan mengekstrak data terstruktur dari HTML

ch_1_3.011.png

  • Membuat tag soup rapi dan mengambil informasi
Mengimpor Data Tingkat Menengah di Python

BeautifulSoup

from bs4 import BeautifulSoup
import requests
url = 'https://www.crummy.com/software/BeautifulSoup/'
r = requests.get(url)
html_doc = r.text
soup = BeautifulSoup(html_doc)
Mengimpor Data Tingkat Menengah di Python

Prettified Soup

print(soup.prettify())
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/transitional.dtd">
<html>
 <head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
  <title>
   Beautiful Soup: We called him Tortoise because he taught us.
  </title>
  <link href="mailto:[email protected]" rev="made"/>
  <link href="/nb/themes/Default/nb.css" rel="stylesheet" type="text/css"/>
  <meta content="Beautiful Soup: a library designed for screen-scraping HTML and XML." name="Description"/>
  <meta content="Markov Approximation 1.4 (module: leonardr)" name="generator"/>
  <meta content="Leonard Richardson" name="author"/>
 </head>
 <body alink="red" bgcolor="white" link="blue" text="black" vlink="660066">
  <img align="right" src="10.1.jpg" width="250"/>
  <br/>
  <p>
Mengimpor Data Tingkat Menengah di Python

Menjelajahi BeautifulSoup

  • Banyak metode, misalnya:
print(soup.title)
<title>Beautiful Soup: We called him Tortoise because he taught us.</title>
print(soup.get_text())
Beautiful Soup: We called him Tortoise because he taught us.
You didn't write that awful page. You're just trying to
get some data out of it. Beautiful Soup is here to 
help. Since 2004, it's been saving programmers hours or
days of work on quick-turnaround screen scraping 
projects.
Mengimpor Data Tingkat Menengah di Python

Menjelajahi BeautifulSoup

  • find_all()
for link in soup.find_all('a'):
    print(link.get('href'))
bs4/download/
#Download
bs4/doc/
#HallOfFame
https://code.launchpad.net/beautifulsoup
https://groups.google.com/forum/?fromgroups#!forum/beautifulsoup
http://www.candlemarkandgleam.com/shop/constellation-games/
http://constellation.crummy.com/Constellation%20Games%20excerpt.html
https://groups.google.com/forum/?fromgroups#!forum/beautifulsoup
https://bugs.launchpad.net/beautifulsoup/
http://lxml.de/
http://code.google.com/p/html5lib/
Mengimpor Data Tingkat Menengah di Python

Ayo berlatih!

Mengimpor Data Tingkat Menengah di Python

Preparing Video For Download...