Python Grattage JavaScript à l'aide de Sélénium et de la Belle Soupe
Je suis en train de gratter un JavaScript permet de page à l'aide de BS et de Sélénium.
J'ai le code suivant jusqu'à présent. Elle n'est pas toujours d'une certaine manière de détecter le JavaScript (et renvoie une valeur null). Dans ce cas, je suis en train de gratter le Facebook des commentaires dans le bas. (Inspecter l'élément montre que la classe postText)
Merci pour l'aide!
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import BeautifulSoup
browser = webdriver.Firefox()
browser.get('http://techcrunch.com/2012/05/15/facebook-lightbox/')
html_source = browser.page_source
browser.quit()
soup = BeautifulSoup.BeautifulSoup(html_source)
comments = soup("div", {"class":"postText"})
print comments
Vous pouvez essayer le réglage d'une attente sur la page que vous êtes susceptible de sortir avant que la page a le temps de se charger complètement (rappelez-vous, il est juste comme un navigateur et d'expériences de latence). Dans votre cas, vous pourrait probablement résoudre par un peu d'attente pour une certaine période de temps, mais la solution la plus élégante(s) peut être trouvé à l'adresse seleniumhq.org/docs/04_webdriver_advanced.jsp#implicit-waits
Je ne suis pas trop sûr si l'attente a la question, comme je l'ai enlevé navigateur.quit() et exécuté le programme. Il n'y a pas de chance.
Le problème est en fait la ligne avant - c'est le chargement de
Je ne suis pas trop sûr si l'attente a la question, comme je l'ai enlevé navigateur.quit() et exécuté le programme. Il n'y a pas de chance.
Le problème est en fait la ligne avant - c'est le chargement de
page_source
avant il n'y a aucune source à charger 🙂
OriginalL'auteur Jay Setti | 2013-01-25
Vous devez vous connecter pour publier un commentaire.
Il y a quelques erreurs dans ton code qui sont fixées ci-dessous. Cependant, la classe "postText" doit exister ailleurs, car il n'est pas défini dans le code source d'origine.
Ma version révisée de votre code a été testé et de travail sur plusieurs sites web.
Il ne fonctionne pas pour moi, le retour des parenthèses vides
OriginalL'auteur user3186527