Web Scraping for beginner
Last updated
Last updated
āđāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĄāļāļ°āļāļđāļāļāļķāļāļāļēāļĢāļāļģ Web Scraping āļāļķāđāļāđāļāđāļāļ§āļīāļāļĩāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļ web page āļāđāļēāļāđ āđāļāļ·āđāļāļāļģāđāļāđāļāđāļāļĢāļ°āđāļĒāļāļāđāļāļēāļĄāļāļĩāđāđāļĢāļēāļāđāļāļāļāļēāļĢ āđāļāļĒāļāļ°āđāļāđ Library BeautifulSoup āđāļ Python āļāļĢāļąāļ
āļāļāļāļ§āļēāļĄāļāļĩāđāļāļĄāļāļ°āļĄāļēāđāļāļĢāđāđāļāļ§āļąāļāļāļĩāđāđāļāđāļāļāļēāļāļŠāđāļ§āļāđāļ Botnoi data science classroom āđāļāđāļāļāļĨāļēāļŠāļāļĩāđāđāļāļīāļāļŠāļāļāļŠāļģāļŦāļĢāļąāļāļāļāļāļĩāđāļŠāļāđāļāļāđāļēāļ Data Science āļāļĢāļąāļ āļāļķāđāļ web scraping āđāļāļĩāđāļĒāļ§āļāđāļāļāļāļąāļāļāđāļēāļāļāļēāļāļāđāļēāļ data āđāļāđāļāļĒāđāļēāļāđāļĢ āđāļĨāļ°āļāļģāđāļāđāļāļĄāļēāļāđāļāđāđāļŦāļāļāļĩāđāļāļ°āļāđāļāļāļĢāļđāđ ?
āļāļąāļāļāļĩāđāļāļĢāļēāļāļāļąāļāļ§āđāļēāđāļŦāļĨāđāļāļāđāļāļĄāļđāļĨ (Data source) āļāļĩāđāđāļŦāļāđāļāļĩāđāļŠāļļāļāļāļ·āļ internet āļāļąāđāļāđāļāļāđāļĨāđāļ§āđāļĢāļēāļāļ°āđāļāđāļēāļāļķāļāļāđāļāļĄāļđāļĨāļāļĩāđāļĄāļĩāļāļĒāļđāđāđāļāļāļąāđāļāđāļāđāļāļĒāđāļēāļāđāļĢāļĨāđāļ° āļāđāđāļāļĒ web scraping āļāļąāđāļāđāļ āļāļķāđāļāļāļ°āļāļģāļāļēāļĢāļŠāļāļąāļāđāļĨāļ°āļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļāđāļŦāļĨāđāļāļāđāļāļĄāļđāļĨ (āđāļāļāļĩāđāļāļĩāđāļāļ·āļāđāļ§āđāļāđāļāļāđ) āđāļāļ·āđāļāļāļģāļāđāļāļĄāļđāļĨāļāļāļāļĄāļēāđāļāđ āļāļąāļāđāļāđāļāļ§āđāļē data scientist āļŠāļēāļĄāļēāļāļŠāļĢāđāļēāļ model āđāļāļ·āđāļāđāļāļĢāļāļŦāļļāđāļ āļāļēāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāđāļēāļ§āļāļēāļāđāļ§āđāļāļāđāļēāļ§āļāļąāđāļ§āđāļ āļŦāļĢāļ·āļ data analyst āļāļģāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļĢāđāļēāļāļāļēāļŦāļēāļĢāļāļĩāđāđāļāļīāļāđāļŦāļĄāđāļĨāđāļēāļŠāļļāļāđāļāđāļāļāļāļĢāļļāļāđāļāļāđāļĨāļ°āļāļĢāļīāļĄāļāļāļĨāđāļ Wongnai āļĄāļēāļāļģāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāđāļāļ·āđāļāļāļ°āđāļāđāļāļĢāļ°āđāļĒāļāļāđāđāļāļāđāļēāļāļāļļāļĢāļāļīāļāđāļāđāļāļāļēāļĢāļāđāļāđāļ āļāļķāđāļāļāļĒāļđāđāļāļąāļāļ§āđāļēāđāļĢāļēāļāļ°āļāļģāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāđāļĄāļēāļāļąāđāļāđāļāđāļāđāļāļĒāđāļēāļāđāļĢ āļāļķāđāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļąāđāļāđāļĄāđāļĒāļēāļāđāļĨāļĒāļāļĢāļąāļ āđāļĢāļēāļĄāļēāļĨāļāļ scrape website āđāļāļ·āđāļāļāļķāļāļāđāļāļĄāļđāļĨāļāļāļāļĄāļēāđāļāđāļāļąāļāđāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĢāļąāļSyncsort:
āļāđāļāļāļāļ·āđāļāđāļĢāļēāļĄāļēāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļāļąāļāļāļģāļ§āđāļē web scraping āļāļąāļāļāđāļāļ web scraping āļāļąāđāļāđāļāđāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļāļŦāļāđāļēāđāļ§āđāļ (web page) āđāļāļĒāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļēāļāļĨāļąāļāļĐāļāļ°āļāļāļāļ āļēāļĐāļē HTML (Hyper Text Markup Language) āļāļĩāđāđāļāđāđāļāļāļēāļĢāđāļŠāļāļāļāļĨāļāļāļāļīāļāđāļāļāļĢāđāđāļāđāļāđāļāļĨāļąāļāļĐāļāļ°āļāļāļāļāđāļāļāļ§āļēāļĄ āļĢāļđāļāļ āļēāļ āļāđāļēāļāđ āđāļāļĒāļāļēāļĢāļāļ°āļāļķāļāļāđāļāļĄāļđāļĨāļāļāļāļĄāļēāļāļąāđāļāļāđāļ āđāļĢāļēāļāļ§āļĢāļāļĩāđāļāļ°āđāļāđāļēāđāļāļāđāļāļĄāļđāļĨāļāļ·āđāļāļāļēāļāļāļāļ web āļāđāļāļ āđāļāļ·āđāļāļāļģāđāļŦāđāļĢāļđāđāļ§āđāļēāļāđāļēāļāļ°āđāļĢāļēāļŠāļāđāļāļāđāļāļĄāļđāļĨāļāļĢāļāļāļĩāđāđāļāđāļ§āđāļ āđāļĢāļēāļāđāļāļāļāļđāļāļĢāļāļāļļāļāđāļŦāļ āļāļ°āđāļāđāļāļķāļāļāđāļāļĄāļđāļĨāļāļąāđāļāļāļāļāļĄāļēāļāļĢāļāļāđāļ§āļāđāļĨāļ°āļāļđāļāļāđāļāļāļāļĢāļąāļ
āđāļĢāļēāļĄāļēāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļ āļēāļĐāļē HTML āđāļāļ·āđāļāļāļāđāļāļāļąāļāļāđāļāļāđāļāļāđāļĄāđāļāđāļāļāđāļāļĩāļĒāļāļāļąāļāļāļĢāļąāļ
āđāļāļĒāđāļāđāļĨāļ°āļŠāđāļ§āļāļāļĢāļ°āļāļāļāļŦāļĨāļąāļāđ āļāļ°āļĄāļĩāļāļ·āđāļāđāļĢāļĩāļĒāļāļāļąāļāļāļĩāđ
Tag name āđāļāđāđāļāļāļēāļĢāļĢāļ°āļāļļāļĢāļđāļāđāļāļāļāļģāļŠāļąāđāļ āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļĢāļŦāļąāļŠāļāļģāļŠāļąāđāļ āļ āļēāļĒāđāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒ less-than bracket ( < ) āđāļĨāļ° greater-than bracket ( > ) āđāļāļĒāļāļĩāđ Tag HTML āđāļāđāļāđāļāđ 2 āļĨāļąāļāļĐāļāļ° āļāļ·āļ
Tag āđāļāļĩāđāļĒāļ§ āđāļāđāļ Tag āļāļĩāđāđāļĄāđāļāđāļāļāļĄāļĩāļāļēāļĢāļāļīāļāļĢāļŦāļąāļŠ āđāļāđāļ <meta>, <link> āđāļāđāļāļāđāļ
Tag āđāļāļīāļ/āļāļīāļ āļĢāļđāļāđāļāļāļāļāļ tag āļāļĩāđāļāļ°āđāļāđāļāđāļāļ <title> âĶ. </title> āđāļāļĒāļāļĩāđ <title> āđāļĢāļēāđāļĢāļĩāļĒāļāļ§āđāļē tag āđāļāļīāļ āđāļĨāļ° </title> āđāļĢāļēāđāļĢāļĩāļĒāļāļ§āđāļē tag āļāļīāļ
āļāļķāđāļāđāļĢāļēāļāļ°āđāļāđ tag āđāļāļ·āđāļāļĢāļ°āļāļļāļāļģāđāļŦāļāđāļāļāļāļāļāđāļāļĄāļđāļĨāļāļĩāđāļāđāļāļāļāļēāļĢāđāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļāļāļĄāļēāļāļĢāļąāļ
Attribute āļāļ·āļ āđāļāđāļāļāļąāļ§āļāļāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļ tag āļāļąāđāļāđāļāđāļ <meta http-equiv=âContent typeâ> āđāļāđāļāļāļēāļĢāļāļāļāļ§āđāļē meta āļāļĩāđāļāļĢāļĢāļāļļ http āļāļĒāļđāđāđāļ tag (http-equiv)
Value āļāļ·āļ āļāđāļēāļāļāļ Tag āļāļąāđāļ āļāļĒāđāļēāļāđāļāđāļ <meta http-equiv=âContent typeâ> āļĄāļĩ Value āļāļ·āļ âContent-Typeâ
Nefted-element āļāļ·āļ Tag āļĒāđāļāļĒāļāļĩāđāļāļđāļāļāļĢāļĢāļāļļāļāļĒāļđāđ āļāļĒāđāļēāļāđāļāļ āļēāļ Tag āđāļŦāļāđ āļāļ·āļ <head>âĶâĶ</head> āđāļāļĒāļĄāļĩ Nefted-element āļāļ·āļ <meta> ,<title>âĶ</title> āđāļĨāļ° <link>
āļāđāļēāļŠāļāļŠāļąāļĒāļāļĢāļāđāļŦāļāļŠāļēāļĄāļēāļĢāļāļĻāļķāļāļĐāļēāđāļāļīāđāļĄāđāļāļīāļĄāđāļāđāļāļēāļāļĨāļīāļāļāđāļāļĩāđāđāļĨāļĒāļāļĢāļąāļ https://www.hellomyweb.com/course/html/structure_of_html/
Web-scraping ethics
āļāđāļāļāļāļĩāđāđāļĢāļēāļāļ°āļĄāļēāđāļĢāļīāđāļĄ Scraping āļāļąāļāļŠāļīāđāļāļāļķāļāļāļĩāđāđāļĢāļēāļāđāļāļāđāļĄāđāļĨāļ·āļĄāļāļ·āļāļāļĢāļīāļĒāļāļĢāļĢāļĄāđāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāđāļāđāļ§āđāļāļāļąāđāļāļĄāļē āđāļāļĢāļēāļ°āđāļĄāđāđāļāđāļ§āđāļēāļāļļāļāļāđāļāļĄāļđāļĨāđāļāđāļ§āđāļāļāļĩāđāđāļĢāļēāļāļ°āļāļģāļāļāļāļĄāļēāđāļāđāđāļāđāļāļąāđāļāļŦāļĄāļ āđāļāļĢāļēāļ°āļāļēāļāļāļĒāđāļēāļāļāļēāļāđāļ§āđāļāļāđāđāļāđāļŠāļāļ§āļāļāđāļāļĄāļđāļĨāļāļąāđāļāđāļ§āđ āļāļķāđāļāļāļēāļĢāļāļĩāđāđāļĢāļēāđāļāļāļķāļāļĄāļēāļāļ°āļāļģāđāļŦāđāđāļāļīāļāļāļąāļāļŦāļēāļāļąāļāļāļēāļāđāļ§āđāļāļāļąāđāļāđāļāđ
āđāļāļĒāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļŠāļāļāļāđāļāļĄāļđāļĨāļāļĩāđāđāļ§āđāļāļāļąāđāļāļŠāļāļ§āļāđāļ§āđ āļāđāļ§āļĒāļāļēāļĢāđāļāļīāļĄ /robots.txt āļŦāļĨāļąāļāļāļĩāđāļāļĒāļđāđāđāļ§āđāļāđāļāļāđ (address) āļāļąāđāļāđāļāđāļ https://www.wongnai.com/robots.txtāļāļĒāđāļēāļāļāļēāļāļ āļēāļāđāļāđāļāđāļ§āđāļāđāļāļāđ Wongnai āļāļēāļāđāļāđāļ§āđāļāđāļŠāļāļāļāļķāļ āđāļĢāļēāļŦāđāļēāļĄ (Disallow) āļāļķāļāļāđāļāļĄāļđāļĨ Users āļāļāļāļĄāļē
Introduce Developer-Tools
āļŦāļĨāļąāļāļāļēāļāđāļāđāļāļĢāļ§āļāđāļāđāļāđāļĨāđāļ§āđāļĢāļēāļĄāļēāļāļģāļāļ§āļēāļĄāļĢāļđāđāļāļąāļāļāļąāļ dev-tools āļāļąāļāļāļĢāļąāļ āđāļāļĒ dev-tools āļŠāļēāļĄāļēāļĢāļāļāļģāđāļŦāđāđāļĢāļēāļāļđāļ§āđāļēāļĄāļĩāļāļ°āđāļĢāļāđāļēāļāļāļĒāļļāđāđāļāđāļ§āđāļāļāļąāđāļāđāļĨāļ°āļāļąāļāļāļĢāļāļāļ§āđāļēāļāļ°āļāļģāļāļ°āđāļĢāļĄāļēāđāļāđāđāļāđāļāđāļēāļāđāļĨāļ°āļāđāļāļāļāļģāļāļĒāđāļēāļāđāļĢāļāļķāļāļāļ°āļāļģāļāļāļāļĄāļēāđāļāđāđāļāđ āđāļāļĒāļ§āļīāļāļĩāđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĩāđāđāļĄāđāļāļģāđāļāđāļāļāđāļāļāļāļīāļāļāļąāđāļāđāļāļĢāđāļāļĢāļĄ āđāļāļĢāļēāļ°āļĄāļĩāļāļĒāļđāđāđāļ Browser āļāļĩāđāļāļļāļāļāđāļēāļāđāļāđāļāļĒāļļāđāđāļĨāđāļ§ āļāļĒāđāļēāļāļāļĄāđāļāđ Opera āļŦāļĢāļ·āļ Chrome āļŠāļēāļĄāļēāļĢāļāļāļģāđāļāđāđāļāļĒāļāļ Ctrl + Shift + I āļŦāļĢāļ·āļ āļāļ F12 āļŦāļĢāļ·āļ Right click āđāļĨāđāļ§āđāļĨāļ·āļāļ Inspect āļŦāļĢāļ·āļāļāļ°āļāļāļāļĩāđāļĄāļļāļĄāļāđāļēāļĒāļāļāđāļāđāđāļĨāļĒāļāļĢāļąāļ
How to select element in HTML document : CSS Selector
āđāļĢāļēāļāļ°āļĄāļēāđāļĢāļīāđāļĄāđāļāļ° coding āļāļąāļāđāļĨāļĒāļāļ°āļāļĢāļąāļ āļ āļēāļĐāļēāļāļĩāđāđāļĢāļēāļāļ°āđāļāđāļāļ·āļ Python āđāļāļĒāļĄāļĩ Library āļāļĒāļđāđāļāļĩāđāđāļĢāļēāđāļāđāđāļāļāļēāļĢ scrape web āļāļ·āļ BeautifulSoup , Selenium āđāļĨāļ° Scrapy āļāļķāđāļāļāļ°āļĄāļĩāļāđāļāļāļĩāđāļĨāļ°āļāđāļāđāļŠāļĩāļĒāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ āđāļāđāđāļāļāļāļāļ§āļēāļĄāļāļĩāđāļāļĄāļāļ°āļāļđāļāļāļķāļāđāļāļāļēāļ° BeautifulSoup āđāļāļĢāļēāļ°āļāđāļāļāļāđāļēāļāļāđāļēāļĒāđāļĨāļ°āđāļŦāļĄāļēāļ°āļāļąāļāļāļđāđāđāļĢāļīāđāļĄāļāđāļāļāļĢāļąāļ āđāļĢāļēāļĄāļēāđāļĢāļīāđāļĄāļāđāļ scraping āļāđāļēāļ library BeautifulSoup āļāļąāļāđāļĨāļĒ
Scrapy vs Selenium vs BeautifulSoup:
https://towardsdatascience.com/scrapy-vs-selenium-vs-beautiful-soup-for-web-scraping-24008b6c87b8
āļāđāļāļāļāļ·āđāļāđāļĢāļēāļāđāļāļāļāļķāļ Library BeautifulSoup āļĄāļēāđāļāđ āđāļāļĒ BeautifulSoup āđāļāđāļāļāļąāļ§āļāļĩāđāđāļāđāđāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨ āļāļĩāđāđāļāđāļāļēāļāļāļēāļĢ request āļĄāļēāļāļĩāļāļāļĩ āđāļāļ·āđāļāđāļŦāđāļāđāļēāļĒāļāđāļāļāļēāļĢāļāđāļāļŦāļēāđāļĨāļ°āļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāļĩāđāđāļĢāļēāļāļķāļāļĄāļēāļāļēāļāđāļāđāļ§āđāļāļāļĢāļąāļ
āđāļĨāļ°āđāļĢāļēāļāđāļāļķāļ Library request āļĄāļēāđāļāđāđāļāļāļēāļĢāļāļķāļāđāļ§āđāļāļāļĩāđāđāļĢāļēāļŠāļāđāļ āđāļāļĒ requests āļāļ°āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļĢāđāļēāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāđāļāļāļąāļ HTTP āļŦāļĢāļ·āļāļāļąāļ§āļŦāļāđāļēāđāļ§āđāļāđāļĢāļēāļāļąāđāļāđāļāļ
āļāļĩāļāļĩāđāđāļĢāļēāļāđāļŠāļēāļĄāļēāļĢāļāļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļāđāļ§āđāļāļāļĩāđāđāļĢāļēāļŠāļāđāļāđāļāđāđāļĨāđāļ§ āđāļāļĒāđāļāđ requests.get(âweb linkâ)
āđāļĢāļēāļĄāļēāđāļāđāļāļāđāļāļĄāļđāļĨāļāļąāđāļāļŦāļĄāļāļāļĩāđāļĄāļĩāļāļĒāļđāđāđāļāļŦāļāđāļēāđāļ§āđāļāļāļąāđāļ
āļāļĩāđāļāļ·āļāļŠāļīāđāļāļāļĩāđāđāļĢāļēāđāļāđāļāļēāļāļāļēāļĢ request āļāļķāđāļāļāđāļāļ·āļ Source code āļāļāļāđāļ§āđāļāđāļāļāļāļąāđāļāđāļŦāļĨāļ°āļāļĢāļąāļ āđāļāđāļĄāļąāļāļāļ°āđāļŠāļāļāļāļĨāđāļāļĒāļāļēāļĢāļāļģāļĄāļēāļāđāļāļāļąāļāļāļąāđāļāļŦāļĄāļāđāļĨāļĒ āļāļķāđāļāļāļ°āļāļģāđāļŦāđāļāļđāļĒāļēāļāļĄāļēāļāđ āđāļāđāļĄāļĩāļāļģāļŠāļąāđāļāļĄāļēāļāđāļ§āļĒāļāļģāđāļŦāđāļāļđāļāđāļēāļĒāļāļķāđāļ
āļāđāļāđāļāđāļĢāļēāļāļ°āļāļģāļŠāļīāđāļāļāļĩāđāđāļĢāļēāđāļāđāļĄāļēāđāļāļĨāļāđāļāđāļ type bs4.BeautifulSoup āđāļāļ·āđāļāđāļŦāđāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļģāļŠāļąāđāļāļāļāļ BeautifulSoup āđāļāļāļēāļĢāļāļąāļāļāļēāļĢāđāļĨāļ°āļāļķāļāļāđāļāļĄāļđāļĨāļāļāļāļĄāļēāđāļāđāļāļĢāļąāļ
āđāļāļĒāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļģāđāļŦāđ source āļāļđāđāļāđāļāđāļēāļĒāļāļķāđāļāđāļāļāļĩāļāļāđāļ§āļĒ .prettify()
āļāļ°āđāļŦāđāļāđāļāđāļ§āđāļē āļāļēāļĢāđāļāđāļāļģāļŠāļąāđāļ prettify() āļāļģāđāļŦāđ Source code āļāļĩāđāđāļĢāļēāđāļāđāļĄāļēāļāļ°āļāļđāļāļāļąāļāļāļēāļĢāđāļŦāđāļāļĒāļđāđāđāļāļĢāļđāļāđāļāļāļāļĩāđāļāļđāļāđāļēāļĒāļāļķāđāļāļĄāļēāļāđ āļāļķāđāļāļāļ°āļāļĒāļđāđāđāļāļĢāļđāļāđāļāļāļāļĩāđāļāļĨāđāļēāļĒāļāļąāļāļāļēāļĢāļāļ F12 āļāļđāđāļ web page āđāļĨāļĒāļāļĢāļąāļ
āđāļĢāļēāļĄāļēāđāļĢāļīāđāļĄāļāļķāļāļāđāļāļĄāļđāļĨāļāļąāļ āđāļāļĒāļāļ°āđāļāđ CSS Selector āđāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļāļāļĄāļēāļāļ°āļāļĢāļąāļ
CSS Selector reference:
āļāļĒāđāļēāļāđāļāđāļāļāļĄāļāļĒāļēāļāļāļ°āļāļķāļ āļāļĢāļ°āđāļ āļāļĢāļēāļāļēāļāļāļāļĢāđāļēāļāļāđāļēāļāļĩāđāļāļāļāļĄāļē āđāļĢāļēāļāđāļāļāđāļĢāļīāđāļĄāļāđāļ§āļĒāļāļēāļĢāđāļāļāļđāļāđāļāļāļ§āđāļēāļāļĢāļ°āđāļ āļāļĢāļēāļāļēāļāļąāđāļāļāļĒāļđāđāļŠāđāļ§āļāđāļŦāļāļāļāļāđāļ§āđāļāļāļąāđāļ āđāļĨāļ°āļāļđāļāļāļĢāļĢāļāļļāļāļĒāļđāđāđāļāļāļĨāļēāļŠāļāļ°āđāļĢ āļĄāļēāđāļĢāļīāđāļĄāļāļąāļāđāļĨāļĒāļāļĩāļāļ§āđāļēāļāđāļāļāļāļ°āļāļ **āļāļĒāđāļēāļĨāļ·āļĄ ethics āļāđāļ§āļĒāļāļ°āļāļĢāļąāļ āļāļĒāđāļēāļāđāļ Wongnai not allow āđāļāļāļēāļ° users āļāļąāļāļāļąāđāļāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļķāļāļāđāļāļĄāļđāļĨāđāļāļŠāđāļ§āļāļāļāļāļāļĢāļ°āđāļ āļāļĢāļēāļāļēāļāļāļāļĢāđāļēāļāđāļāđāļāļĢāļąāļ
āļāļĢāļ span.sc-1ascgl-3.cbakhs āļāļ·āļ tag āļāļāļāļāđāļ§āļāļĢāļēāļāļē āļāļąāļāļāļĩāđāļāļĨāđāļēāļ§āđāļ§āđāļāđāļēāļāļāđāļāļ§āđāļē Tag name āļāļ°āđāļāđāđāļāļāļēāļĢāļĢāļ°āļāļļāļĢāļđāļāđāļāļāļāļģāļŠāļąāđāļ āļŦāļĢāļ·āļāļāļēāļĢāļĨāļāļĢāļŦāļąāļŠāļāļģāļŠāļąāđāļ āđāļāļĒāļāļĢāļāļāļĩāđāđāļŦāļĨāļ°āļāļĢāļąāļāļāļĩāđāļāļ°āđāļāđ css selectors āļāļķāļāļāļāļāļĄāļēāđāļāđāļāļāđāļāļĄāļđāļĨāļāļĩāđāđāļĢāļēāļāđāļāļāļāļēāļĢ āđāļĢāļēāļĄāļē coding āļāļąāļāļāđāļāļāļĢāļąāļ
āđāļāļĒāđāļ BeautifulSoup āļāļąāđāļāđāļāđāļĄāļĩ function āļāļĩāđāļāļ°āļŠāļāļąāļāļāđāļāļĄāļđāļĨāļāļĩāđāđāļĢāļēāļāđāļāļāļāļēāļĢāđāļāđāļāļąāļāļāļĩ
āđāļāđāļāđāļēāđāļĢāļēāđāļŠāđāļāđāļāļĄāļđāļĨāļāļīāļāļāļ°āđāļŠāļāļāļāļĨāļ§āđāļē None āļāļēāļāļ āļēāļāļāđāļēāļāļāļāļāļĄāļāļāđāļāļāļ°āļĨāļ 6 āđāļ class āļāļāļ āļāļāļĄāļąāļāļŦāļē âspan._2qDKIyMmA-jMRyfxACZWtâ āđāļāđāļ§āđāļāđāļāđāļŦāļēāđāļĄāđāđāļāļāđāļāđāļ§āđāļāđāļāļĢāļēāļ°āļāđāļāļĄāļđāļĨāļāļĩāđāđāļĢāļēāđāļŠāđāļāļīāļ āđāļāđāļāļĨāļāļĩāđāļāļāļāļĄāļēāđāļāđāļ None
āđāļĄāļ·āđāļāļŠāļāļąāļāđāļāļēāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāđāļāļāđāļāļāļ§āļēāļĄāļĄāļēāđāļāđāđāļĨāđāļ§ āļāļĢāļēāļ§āļāļĩāđāđāļĢāļēāļĨāļāļāļĄāļēāļŠāļāļąāļāļĢāļđāļāļāļąāļāļāđāļēāļāļāļĢāļąāļāļāļąāļ§āļāļĒāđāļēāļāļ āļēāļāļāļĩāđāđāļĢāļēāļāļ°āļāļķāļāļĨāļīāļāļāđāļāļāļāļĄāļē āđāļāđāļāļ āļēāļāļāļĩāđāļāļđāđāđāļāđāļĄāļēāļāļģāļāļēāļĢāļĢāļĩāļ§āļīāļ§āļĢāđāļēāļāļāļĩāđāļāļ°āļāļĢāļąāļ
āļāļēāļāļāļĩāđāļāļķāļāļĄāļēāļāļ°āļĄāļĩ 9 img tag āļāļąāļāļāļĢāļēāļāļāļ āļēāļ 9 āļ āļēāļāđāļāļŦāļāđāļēāđāļ§āđāļāļāļąāđāļ āđāļĨāđāļ§āđāļĢāļēāļāļ°āđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļāļ BeautifulSoup āđāļāļāļēāļĢāļŠāļāļąāļāđāļāļēāļĨāļīāļāļāđāļāļāļāļĄāļēāļāļ°āļāļĢāļąāļ
āđāļāđāļāđāļāļāđāļēāļāļāļĢāļąāļ āļāļāļāļ°āļāļģāļāļēāļĄāļāļąāļāđāļāđāđāļŦāļĄāļāļĢāļąāļ āļāļķāđāļāđāļāđāļē Web-scraping āļāļĩāđāđāļāđāđāļĢāļĩāļĒāļāļāļēāļ data science school by Botnoi āļāļ°āļāļĒāļđāđāđāļāļāļāļāđāļāļ data extraction āđāļāđāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļŦāļĢāļ·āļāļĢāļ§āļāļĢāļ§āļĄāļāđāļāļĄāļđāļĨāļāļēāļāļāļĩāđāļāđāļēāļāđāļāđāļāļāļāļĩāđāļāļ°āļāļģāļĄāļēāđāļāđāđāļāļāļēāļĢāļāđāļāđāļ āļāļķāđāļāļāļēāļĢāļāļĩāđāđāļĢāļēāđāļāđāļēāđāļāđāļāļāđāļēāļāļāļĩāđāđāļāđāļĄāļēāļāļāļķāđāļ āļāļ°āļāđāļ§āļĒāļāļģāđāļŦāđāđāļ§āļĨāļēāđāļĢāļēāļāļķāļāļāđāļāļĄāļđāļĨāļāļāļāļĄāļēāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāđāļāļ°āļĄāļĩāļāļ§āļēāļĄ clean āļĄāļēāļāļāļķāđāļāđāļĨāļ°āļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢāļĄāļēāļāļāļķāđāļāļāļĢāļąāļ āļŦāļ§āļąāļāļ§āđāļēāļāļļāļāļāļāļāļ°āđāļāđāļēāđāļāļāļ°āļāļĢāļąāļāđāļ§āđāļāđāļēāļĒāļąāļāđāļāđāļāļāļāļāļ§āļēāļĄāļāđāļāđāļāļāļĄāđāļāđāļāļąāđāļāđāļāļĢāđāļāđāļāđāļ§āđāļāļąāļ Tamagotchi āđāļāļĒāļāļ°āļāļķāļāļāđāļāļĄāļđāļĨāļāđāļ§āļāļĢāļēāļāļēāđāļĨāļ°āļāļģāđāļŦāļāđāļāļāļĩāđāļāļąāđāļāļāļāļāļĢāđāļēāļāļāļēāļŦāļēāļĢāđāļāđāļāļāļāļĢāļļāļāđāļāļāđāļĨāļ°āļāļĢāļīāļĄāļāļāļĨāđāļāļ·āđāļāļāļ°āļāļģāļĄāļē visualize āļŦāļēāļāļ§āļēāļĄāļŦāļāļēāđāļāđāļāļāļāļāļĢāđāļēāļāđāļāļāđāļ§āļāļĢāļēāļāļēāļāđāļēāļāđ āļāļēāļāļāļīāļāļāļēāļĄāļāļąāļāļāđāļ§āļĒāļāļ°āļāļĢāļąāļ
āļāļāļāļāļļāļāļāļĩāđāļāđāļāļ Tamagotchi āđāļĨāļ°āļāļĩāđāļ§āļīāļ Dr. Winn Voravuthikunchai āļŠāļģāļŦāļĢāļąāļāļāļģāđāļāļ°āļāļģāļāđāļ§āļĒāļāļĢāļąāļ
Reference : https://medium.com/botnoi-classroom
āļāđāļāļāļāļ·āđāļāđāļĨāļĒāđāļĢāļēāļāđāļāļāđāļāđāļē dev-tools āļāđāļāļāđāļĨāđāļ§āļāļģāļāļēāļĢāđāļĨāļ·āļāļ (āļāđāļ§āļĒāļāļēāļĢāļāļģ cursor āđāļĄāļēāļŠāđāđāļāļāļĨāļīāđāļāļāļĢāļāļŠāđāļ§āļāļāļĩāđāđāļĢāļēāļŠāļāđāļāđāļāļŦāļāđāļēāđāļ§āđāļāļāļąāđāļāđāļāđāđāļĨāļĒ) āļāļķāđāļ dev-tools āļāļ°āļĢāļ°āļāļļāļāļĩāđāļāļĒāļđāđāļāļāļ tag āļāļĩāđāļāļĢāļĢāļāļļāļāđāļāļĄāļđāļĨāļāļąāđāļāļĄāļēāđāļŦāđāđāļĨāļĒ
āļĄāļēāļāļĩāļ fuction āļāļķāļ .select_one(selector) āđāļāđāļāļāļēāļĢāļĢāļ°āļāļļāļ§āđāļē tag span āđāļ class _2qDKIyMmA-jMRyfxACZWt6 āļāļ°āđāļĨāļ·āļāļāļāļāļāļĄāļēāļāļĩāđāļāļąāļ§ āđāļāļĒāļāļ°āļĄāļĩāļāļĒāļđāđ 2 āđāļāļāļāļ·āļ āđāļĨāļ·āļāļāļāļąāļ§āđāļāļĩāļĒāļ§(āļāļąāļ§āđāļĢāļāļāļĩāđāļāļ) .select_one() āļŦāļĢāļ·āļāļāļ°āļāļķāļāļāļāļāļĄāļēāļāļļāļāļāļąāļ§āđāļĨāļĒ .select()āļāļēāļāļāļēāļĢ select āļāļ°āđāļāđāđāļāđāļāļāļ°āđāļĢāļĒāļ·āļāļĒāļēāļ§ āđāļāđāđāļĢāļēāļāļāđāļāđāļāđāļāļĄāļđāļĨāļāļĩāđāđāļĢāļēāļŠāļāđāļāļāļĢāđāļēāļ§āđāđāļĨāđāļ§āļāļąāđāļāļāļ·āļ >āļŋ<! â âāļŋ<! â âāļŋ<