2016-06-13 1 views
-1

Je suis un débutant. Je veux lire deux entrées (probablement à partir d'un menu déroulant) d'une page Web et les utiliser comme variables pour exécuter le programme python, puis retourner le résultat à une base de données et l'afficher sur la page Web. J'utilise mySQL pour la gestion de base de données.Python: Comment lire les données à partir de la page Web, puis réécrire à partir de la base de données?

+0

Cette question est un peu trop large - vous devriez vraiment essayer quelque chose et montrer ce que vous avez essayé. Pour commencer, vous allez probablement vouloir utiliser une sorte de framework pour interfacer python avec le web (par exemple Django). Vous donnerez ensuite un nom à vos listes déroulantes et utiliserez quelque chose comme request.POST.get ('nom') pour récupérer les données de la page Web. – HenryM

Répondre

0

Si vous souhaitez parcourir tout autre site Web et obtenir des informations sur leur site. Il y a deux cas


  1. données ne change pas sur la page une fois la page web se charge dans ce cas ce que vous voyez dans la source de la page d'affichage dans le navigateur est aussi ce que vous voyez dans la page web puis vous pouvez envoyer une requête get pour obtenir les données de l'URL de la page Web en utilisant urllib2. Une fois que vous obtenez les données du site Web, vous pouvez analyser les données en utilisant beautifulSoup. Cela fonctionne bien pour les pages Web statiques une fois que vous avez analysé la page Web et que vous pouvez l'ajouter à la base de données en utilisant Mysql insert instruction
  2. Si les données sont dynamiques, le contenu de la page change après l'affichage de la page Web chargé alors vous pouvez utiliser Selenium ou Python requests il y a beaucoup d'autres outils disponibles avec ceux que vous pouvez obtenir les données nécessaires et encart dans la base de données
0

donc, pour prendre la valeur de l'élément que vous avez à faire :

from selenium import webdriver 
from selenium import selenium 
browser = webdriver.Firefox() 
browser.get("yourwebpage") 
item=browser.find_element_by_xpath("xpath of your element") 
value=item.text 

à la place du texte que vous pouvez utiliser aussi: tag _name, la taille, l'emplacement, id attribut etc

après pour la DB:

import pypyodbc 
connection = pypyodbc.connect('Driver={SQL Server};' 
            'Server=yorserver;' 
            'Database=yourdb;' 
            'uid=youruser;pwd=yourpassword') 
cursor = connection.cursor() 
cursor.execute("your_query_to_update_the_db_fields") 
self.connection.commit() 
connection.close() 

Désolé si ce n'est pas très clair, mais vous ne me donne pas beaucoup de détails, donc je viens d'envoyer un code général