Documente Academic
Documente Profesional
Documente Cultură
hange E hange E
XC di XC di
F- t F- t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Andrew Peterson
Apr 9, 2013
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Roadmap t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Etiquette/ Ethics t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Data/Page formats on the web t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re t e
This could ra c k e r- s o ft w ar
.
.
ac
k e r- s o ft w a
be really
HTML, HTML5 (<!DOCTYPE html>) useful
Yup
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Data/Page formats on the web t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
BeautifulSoup t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Installation t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
HTML Table basics t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
HTML Tables t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
HTML Tables t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
<h4>Simple table:</h4>
<table>
<tr>
<td>[r1, c1] </td>
<td>[r1, c2] </td>
</tr> Don't
<tr> forget to
<td>[r2, c1]</td> enjoy
<td>[r2, c2]</td>
</tr>
</table>
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Example: Election data from html table
t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Example: Election data from html table
t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Download relevant pages t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Download relevant pages t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Download relevant pages t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Step one: view page source t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Outline of Our Approach t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Open a page t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
soup = BeautifulSoup(html_doc)
Print all: print(soup.prettify())
Print text: print(soup.get_text())
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Navigating the Page Structure t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
find all t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
finds all the Tag and NavigableString objects that match the
criteria you give.
find table rows: find_all("tr")
e.g.:
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- t F- t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Let’s try it out t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- t F- t
from xkcd
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Metacharacters:
|. ^ $ * + ? { } [ ] \ | ( )
excape metacharacters with backslash \
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions: Character class
t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions: Repeat t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions: match anything
t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions: or, optional t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions: in reverse t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
\d, \w and \s
\D, \W and \S NOT digit (use outside char class)
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Regular Expressions t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Now let’s see some examples and put this to use to get the
party.
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Basic functions: Getting headers, titles, body
t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
soup.head
soup.title
soup.body
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Basic functions t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
soup.b
id: soup.find_all(id="link2")
eliminate from the tree: decompose()
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Other Methods: Navigating the Parse Tree
t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Data output t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Putting it all together t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
PDFs t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
pdfminer t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
pdfminer t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
PDFs t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Performing an action over all files
t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup
Introduction Example Regex Other Methods PDFs
hange E hange E
XC di XC di
F- F-
Additional Examples t t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
BeautifulSoup