使用beautifulsoup和python解析文本问题[英] Trouble Parsing Text using BeautifulSoup and Python

问题描述

我正在尝试在starmations.gov页面上检索注释部分.一个例子是"专有交易限制......与自由市场驱动估值".在 http://www.regulations.gov/# !! detetail; d = OCC-2011-0014-0032 .

我正在使用beautifulsoup和python,并有以下代码:

from bs4 import BeautifulSoup
from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get(http://www.regulations.gov/#!documentDetail;D=OCC-2011-0014-0032)
source = driver.page_source.encode('ascii', 'replace')
soup = BeautifulSoup(source)
print soup
commentHolder = soup.find("div", {"class":"GGAAYMKDDNE"})
print commentHolder

当我执行"打印汤"时,我得到一个输出(尽管是一个凌乱的一个),但是当我执行"打印评论名人"时,我将"none"作为输出.我并不肯定为什么这发生,并会欣赏任何帮助.谢谢.

注意:我使用selenium webdriver尝试绕过javascript - 这是一个正确的方法吗?

推荐答案

需要让PhantomJS 在读取page_source之前,显式等待要在上存在.为我工作:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.PhantomJS()
driver.get("http://www.regulations.gov/#!documentDetail;D=OCC-2011-0014-0032")

wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "div.GGAAYMKDGNE")))

本文地址:https://www.itbaoku.cn/post/1740131.html