# Web Scrappers (`webscrappers`)
*a set of functions that uses the `BeautifulSoup` module to scrap data from various websites*
```{eval-rst}
.. attention::
Source Code: `GH/sqlutils `_
```
In the fast developing world, data is crucial! The **`webscrappers`** contains a set of functions that can be used to
easily retreive data into *python* that uses the `BeautifulSoup` at its core along with core modules like `requests` for retreiving data.
```shell
git clone https://gist.github.com/ZenithClown/809642277fba2d8d2309e55ab307615f.git webscrappers
export PYTHONPATH="${PYTHONPATH}:webscrappers"
```
### Basics of Web Scrapping
"Web scraping is the process of using bots to extract content and data from a website." Given a HTML page, a webscrapper
tends to extract information from a HTML `tag` or `elements` into a desired format. In python,
[**Beautiful Soup**](https://pypi.org/project/beautifulsoup4/) is popular python
package for parsing HTML and XML documents. Some good tutorials on `bs4` that I personally followed:
* [Beautiful Soup: Build a Web Scraper With Python - RealPython](https://realpython.com/beautiful-soup-web-scraper-python/),
* [A Practical Introduction to Web Scraping in Python - RealPython](https://realpython.com/python-web-scraping-practical-introduction/),
* [Implementing Web Scraping in Python - Geeks for Geeks](https://www.geeksforgeeks.org/implementing-web-scraping-python-beautiful-soup/),
* [Web Scraping with Python - Beautiful Soup Crash Course - freeCodeCamp.org](https://www.youtube.com/watch?v=XVv6mJpFOb0)
In addition, one might need [Google Chrome Dev-Tools](https://www.youtube.com/watch?v=Uuaue9odUEo) or
[Microsoft Edge Dev-Tools](https://www.youtube.com/watch?v=ayemJLeE55c) introduction.
## Web Scrapping BOTs
```{eval-rst}
.. automodule:: tablescraper
:members:
:undoc-members:
:show-inheritance:
```