我正在尝试使用Python抓取一个网站。我已经能够成功地将其抓取,但是预期的结果并未出现。我认为与网页的JavaScript有关。
下面的我的代码:
driver.get(
"https://my website")
soup=BeautifulSoup(driver.page_source,'lxml')
all_text = soup.text
ct = all_text.replace('\n', ' ')
cl_text = ct.replace('\t', ' ')
cln_text_t = cl_text.replace('\r', ' ')
cln_text = re.sub(' +', ' ', cln_text_t)
print(cln_text)
并没有提供给我网站详细信息,而是提供了以下数据。知道我该如何解决吗?
html, body {height:100%;margin:0;} You have to enable javascript in your browser to use an application built with Vaadin.........
答案 0 :(得分:1)
为什么您完全需要这个BeautifulSoup
?它似乎不支持JavaScript。
如果您需要获取网页文本,则可以使用//html
中的简单document root来获取XPath selector并获取所得innerText的WebElement属性< / p>
建议的代码更改:
driver.get(
"my website")
root = driver.find_element_by_xpath("//html")
all_text = root.get_attribute("innerText")