(self, platform)
| 550 | self.tasks = {} |
| 551 | |
| 552 | def _scrape_headers(self, platform): |
| 553 | # Header/cookie profile più realistico e riusabile tra richieste HTTP e Playwright. |
| 554 | ua_list = [ |
| 555 | "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", |
| 556 | "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36", |
| 557 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15" |
| 558 | ] |
| 559 | return { |
| 560 | "User-Agent": random.choice(ua_list), |
| 561 | "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", |
| 562 | "Accept-Language": "en-US,en;q=0.9,it;q=0.8", |
| 563 | "Referer": f"https://www.{platform}.com/", |
| 564 | "Cache-Control": "no-cache", |
| 565 | } |
| 566 | |
| 567 | def _rand_sleep(self, base=0.7, jitter=0.8): |
| 568 | # Sleep con jitter per ridurre pattern ripetitivi e sembrare più umano. |
no outgoing calls
no test coverage detected