https://github.com/juletopi/webscraping_com_python
🐍• Repositório back-end sobre os conceitos de "webscraping" utilizando a linguagem Python.
https://github.com/juletopi/webscraping_com_python
beautifulsoup playwright python requests venv venv-python virtual-environment webscraping webscrapping
Last synced: about 2 months ago
JSON representation
🐍• Repositório back-end sobre os conceitos de "webscraping" utilizando a linguagem Python.
- Host: GitHub
- URL: https://github.com/juletopi/webscraping_com_python
- Owner: juletopi
- License: mit
- Created: 2024-12-04T03:03:52.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-12-04T15:20:34.000Z (10 months ago)
- Last Synced: 2025-05-17T16:14:57.686Z (5 months ago)
- Topics: beautifulsoup, playwright, python, requests, venv, venv-python, virtual-environment, webscraping, webscrapping
- Language: Python
- Homepage:
- Size: 30.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
Sumário 🧾
Apresentação |
Configurando o Ambiente Virtual |
Utilizando a Biblioteca Requests
Implementando o Webscraping |
Tecnologias Utilizadas |
Contribuições |
Autor
## 📖 Apresentação
Este projeto tem como objetivo demonstrar como o processo de **webscraping** utilizando a linguagem **Python**, abordando desde a configuração inicial até a extração de dados de páginas web utilizando bibliotecas populares como `requests` e `BeautifulSoup`.Fora idealizado durante uma das oficinas da **21ª Semana Nacional de Ciência e Tecnologia** realizada em dezembro de 2024 no **IFRO Campus Ji-Paraná**.
## 🔧 Configurando o Ambiente Virtual
1. **Crie o ambiente virtual**:
```bash
python -m venv venv
```
2. **Ative o ambiente virtual**:
- **Windows**:
```bash
venv\Scripts\activate
```
- **Linux/Mac**:
```bash
source venv/bin/activate
```
3. **Instale as dependências**:
```bash
pip install -r requirements.txt
```## 📥 Utilizando a Biblioteca Requests
A biblioteca `requests` permite enviar requisições HTTP de forma simples. É ideal para interagir com APIs ou capturar o HTML de páginas web.### Exemplo: Requisição GET
```python
import requests
import jsonresponse = requests.get("https://httpbin.org/get")
print(f"Status Code: {response.status_code}")
print(f"Dados da resposta: {json.dumps(response.json(), indent=2)}")
```### Exemplo: Requisição POST
```python
import requests
import jsondata = {
"name": "Julio",
"age": 21,
"city": "Ji-Parana",
"state": "RO"
}response = requests.post("https://httpbin.org/post", data=data)
print(f"\nStatus Code: {response.status_code} - {json.dumps(response.json(), indent=2)}")
```## 🌐 Implementando o Webscraping
### Exemplo: Obter Clima e Coordenadas
```python
import requestsNOMINATIM_URL = "https://nominatim.openstreetmap.org/search.php"
OPEN_METEO_URL = "https://api.open-meteo.com/v1/forecast"
HEADERS = {"referer": "https://nominatim.openstreetmap.org/search.html"}def get_coordinates(city_name):
params = {"q": city_name.strip(), "polygon_geojson": 1, "format": "jsonv2"}
response = requests.get(NOMINATIM_URL, params=params, headers=HEADERS)
if response.status_code == 200:
location = response.json()[0]
return float(location["lat"]), float(location["lon"])
else:
print(f"Erro ao obter coordenadas: {response.status_code}")def get_weather(lat, lon):
params = {"latitude": lat, "longitude": lon, "current_weather": True}
response = requests.get(OPEN_METEO_URL, params=params)
if response.status_code == 200:
weather = response.json()["current_weather"]
return weather["temperature"], weather["weathercode"]
else:
print(f"Erro ao obter clima: {response.status_code}")city = input("\nDigite o nome da cidade: ")
lat, lon = get_coordinates(city)
if lat and lon:
temp, weather_code = get_weather(lat, lon)
print(f"\nClima em {city}:\nTemperatura: {temp}ºC\nCódigo do clima: {weather_code}")
```## 🛠️ Tecnologias Utilizadas
- **Python**
- **Requests**## 🤝 Contribuições
Todas as contribuições ao projeto são bem vindas!
Se você deseja contribuir para este projeto, há várias maneiras de fazer isso. Você pode:
- Reportar bugs ou problemas;
- Propor novos recursos ou melhorias;
- Corrigir problemas através de pull requests;
- Ajudar a melhorar a documentação;
- Compartilhar o projeto com outras pessoas.
Para saber mais sobre como contribuir, consulte o guia de contribuição CONTRIBUTING.md.
## 👤 Autor
-
LinkedIn —
Júlio Cézar P. Camargo
-
Email —
juliocezarpvh@hotmail.com
-
Facebook —
facebook.com/juhletopi
-
Instagram —
@juletopi

Portfolio —
juletopi.github.io/JCPC_Portfolio
----