17 lines
476 B
Python
17 lines
476 B
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
|
|
import requests
|
|
|
|
|
|
@dataclass
|
|
class BaseCollector:
|
|
headers: dict[str, str] = field(default_factory=lambda: {"User-Agent": "Mozilla/5.0"})
|
|
session: requests.Session = field(default_factory=requests.Session)
|
|
|
|
def get(self, url: str, **kwargs):
|
|
response = self.session.get(url, headers=self.headers, timeout=15, **kwargs)
|
|
response.raise_for_status()
|
|
return response
|