[ka2] fix connecteur glmc_ag_qc: SiteGround sert un challenge sgcaptcha en HTTP 202 (aucune exception → liste parsée vide, 0 fiche) — liste et détails passent par get_resilient (même fix que duquesimms), escalade Oxylabs OK (0 → 172 fiches, médiane 173)
1 changed file +6 −2
modified
immoka/connectors/glmc.py
+6 −2
@@ -78,7 +78,10 @@ class GlmcConnector(BaseConnector): | ||
| 78 | 78 | for page in range(1, self.max_pages + 1): |
| 79 | 79 | url = f"{LISTING}?pg={page}" |
| 80 | 80 | try: |
| 81 | − html = self.get(url).text | |
| 81 | + # SiteGround sert un challenge sgcaptcha en HTTP 202 (sans | |
| 82 | + # exception) : get_resilient escalade (Oxylabs → Scrapfly ASP | |
| 83 | + # → Bright Data) | |
| 84 | + html = self.get_resilient(url).text | |
| 82 | 85 | except Exception: |
| 83 | 86 | break |
| 84 | 87 | # exclure la section « Vendus » (fiches vendues, après la pagination) |
@@ -93,7 +96,8 @@ class GlmcConnector(BaseConnector): | ||
| 93 | 96 | if dry >= 2: |
| 94 | 97 | break |
| 95 | 98 | listings = list(by_id.values()) |
| 96 | − du.enrich(self, listings, DETAIL_LIMIT, _parse_detail, key="v2") | |
| 99 | + du.enrich(self, listings, DETAIL_LIMIT, _parse_detail, key="v2", | |
| 100 | + fetch_html=lambda u: self.get_resilient(u).text) | |
| 97 | 101 | return listings |
| 98 | 102 | |
| 99 | 103 | def _card(self, blk: str) -> PropertyListing | None: |
| 100 | 104 | |