Je travaille avec la classe CrawlSpider pour explorer un site Web et je voudrais modifier les en-têtes qui sont envoyés dans chaque requête. Plus précisément, je voudrais ajouter le référent à la requête.
Conformément à cette question J'ai vérifié.
response.request.headers.get('Referer', None)
dans ma fonction d'analyse de la réponse et le Referer
n'est pas présent. Je suppose que cela signifie que le Referer n'est pas soumis dans la requête (à moins que le site web ne le renvoie pas, je n'en suis pas sûr).
Je n'ai pas réussi à trouver comment modifier les en-têtes d'une requête. Encore une fois, mon araignée est dérivée de CrawlSpider. En surchargeant la méthode de CrawlSpider _requests_to_follow
ou en spécifiant un process_request
pour une règle ne fonctionnera pas car le référent n'est pas dans la portée à ces moments-là.
Quelqu'un sait-il comment modifier les en-têtes de demande de manière dynamique ?