Question

J'ai essayé de passer mon login et mot de passe à partir du script Python eBay page de connexion. Plus tard, je veux que ce script soit exécuté à partir de " Google App Engine "

J'a été suggéré d'utiliser " mécaniser ". Malheureusement, cela n'a pas fonctionné pour moi:


IDLE 1.2.4      
>>> import re
>>> import mechanize
>>> br = mechanize.Browser()
>>> br.open("https://signin.ebay.com")

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    br.open("https://signin.ebay.com")
  File "build\bdist.win32\egg\mechanize\_mechanize.py", line 203, in open
    return self._mech_open(url, data, timeout=timeout)
  File "build\bdist.win32\egg\mechanize\_mechanize.py", line 255, in _mech_open
    raise response
httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt
>>> 

Un peu plus tôt, je cherchais à utiliser Python et twill - il ne fonctionne pas, soit jusqu'à ce que un partisan suggéré que je télécharger la dernière version de mécaniser , puis procédez comme suit:

  1. Recherchez le dossier suivant sur mon ordinateur: " C: \ Python25 \ Lib site-packages \ twill \ other_packages \ _mechanize_dist "

  2. Modifier son nom à " _mechanize_dist_backup " (le chemin complet, donc, devrait être « C: \ Python25 \ Lib \ site-packages \ twill \ other_packages \ _mechanize_dist_backup ")

  3. Copiez le dossier " mécaniser " (qui se trouve dans " mécaniser-0.2.2 " - le dossier que j'avais téléchargé et décompressé "mécaniser" site officiel ) et le coller dans « < strong> C: \ Python25 \ Lib site-packages \ twill \ other_packages "(le chemin complet, donc, étant" C: \ Python25 \ Lib site-packages \ twill \ other_packages \ mécaniser ")

  4. Modifier son nom à " _mechanize_dist " (le chemin complet étant " C: \ Python25 \ Lib \ site-packages \ twill \ other_packages_mechanize_dist ")

  5. Copier " ClientForm " fichier de " _mechanize_dist_backup " et le coller dans " _mechanize_dist " (en fait, j'y ai trouvé deux fichiers nommés " ClientForm ":. un fichier est un python, un autre est un fichier python compilé - Je copié et collé les deux)

Après avoir effectué toutes ces étapes, j'ai essayé de me connecter à mon eBay compte de la twill shell Python et cela a fonctionné !!! Je pourrais même me connecter à mon Yahoo mail de la même manière et vérifier mes mails!

Mais maintenant, j'ai un dilemme: Je ne sais pas comment je pourrais déployer mon script « Google App Engine ».

Un peu plus tôt J'avais conseillé que si je veux utiliser des bibliothèques tierces App Engine projets, je dois simplement les inclure avec ma demande quand je déployer - en cas twill , par exemple, je viens besoin de copier le twill dossier dans le dossier de mon application et la déployer.

Mais non seulement j'ai cette twill dossier en tant que bibliothèque tiers à inclure, mais aussi tous ces changements effectués dans « C: \ Python25 » (dans " C: \ Python25 \ Lib \ site-packages \ twill \ other_packages ", pour être précis) alors que mon dossier d'application - celui dans lequel j'ai mon script ( " my_script .py. » fichier) - est situé sur " E " disque

Quelqu'un peut-il, s'il vous plaît, donnez-moi quelques suggestions ici?

Était-ce utile?

La solution

En ce qui concerne le déploiement de problème GAE, @brilliant, ressemble le code que vous avez affaire est tout python pur 2.5 (la question ne bloque vraiment serait si elle pas - pas d'extensions binaires permis, pas de code nécessitant Python 2.6 ou mieux permis, et c'est juste la façon dont il est le GAE à ce moment).

Alors, dans cette hypothèse, la seule question w / déployer le code sur App Engine est d'avoir tout le code, pas dans site-packages (dont bien sûr la dev_appserver.py GAE déploie absolument rien, nada, zilch ), mais plutôt dans le répertoire de votre projet GAE (je suggère un zip récursive de tous les fichiers py, seulement - supprimer tous les fichiers .pyc, en particulier, avant de zip -r il; -).

Dans l'ensemble, il est juste une question de quelques commandes shell appropriées: cp -R alors zip -r (probablement plus difficile sur les coquilles non unixy, mais, hé, même sur Windows peut le faire avec bash de Cygwin ... dans tous les cas, il est à peine une question de « développement », en soi, -.)

Autres conseils

Le message d'erreur est indiquant que mécaniser est Obéissant fichier robots.txt du site pour vous.

Vous devez utiliser l'API d'eBay si vous souhaitez accéder à leur site de manière automatisée. Si vous ne le faites pas, et de construire votre propre solution qui ne tient pas robots.txt, ne soyez pas surpris quand ils vous bloquent et se plaignent de Google sur les requêtes automatisées provenant de App Engine de votre application.

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