Question

J'écris un robot. Une fois que le robot d'exploration se connecte à un site Web, je souhaite que le robot d'exploration "reste toujours connecté". Comment puis je faire ça? Un client (comme un navigateur, un robot d'exploration, etc.) crée-t-il un serveur pour obéir à cette règle? Ce scénario peut se produire lorsque le serveur autorise un nombre limité de connexions par jour.

Était-ce utile?

La solution

" État connecté " est généralement représenté par des cookies. Vous devez donc stocker les informations sur les cookies envoyées par ce serveur lors de la connexion, puis les envoyer avec chacune de vos demandes ultérieures (comme l'a noté Aiden Bell dans son message, merci).

Voir aussi cette question:

Comment "garder en vie" avec cookielib et httplib en python?

Un article plus complet sur la façon de le mettre en œuvre:

http://www.voidspace.org.uk/python/articles /cookielib.shtml

Les exemples les plus simples se trouvent au bas de cette page de manuel:

https://docs.python.org/library/cookielib.html

Vous pouvez également utiliser un navigateur classique (comme Firefox) pour vous connecter manuellement. Vous pourrez ensuite enregistrer le cookie à partir de ce navigateur et l’utiliser dans votre robot. Mais ces cookies ne sont généralement valables que pour une durée limitée. Il ne s'agit donc pas d'une solution entièrement automatisée à long terme. Cependant, il peut être très pratique de télécharger du contenu à partir d’un site Web une fois.

UPDATE:

Je viens de trouver un autre outil intéressant dans une question récente:

http://www.scrapy.org

Il peut également effectuer ce type de connexion à l'aide de cookies:

http: // doc .scrapy.org / topics / request-response.html # topics-request-response-ref-request-userlogin

La question que j'ai mentionnée est la suivante:

Scrapy nom_domaine pour l'araignée

J'espère que cela vous aidera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top