python - 当我尝试从表中抓取数据时没有数据出现
问题描述
我试图从网站上的数据表中刮取数据,但是当我运行我的代码时,输出只是空白。我不确定为什么什么都没有打印出来。对于 IDE 终端来说,内容是否太大?还是我的代码存在根本问题?
注:网站链接为:https ://www.kaggle.com/nareshbhat/health-care-data-set-on-heart-attack-possibility
我试图抓取的数据是底部的表格(heart.csv)
任何帮助是极大的赞赏!
代码:
import time
import pandas as pd
from selenium import webdriver
from bs4 import BeautifulSoup
import re
DRIVER_PATH = r"/Users/mouradsal/Downloads/DataSets Python/chromedriver"
URL = "https://www.kaggle.com/nareshbhat/health-care-data-set-on-heart-attack-possibility"
browser = webdriver.Chrome(DRIVER_PATH)
browser.get(URL)
time.sleep(4)
content = browser.find_elements_by_css_selector(".dfXZEj div")
for e in content:
start = e.get_attribute("innerHTML")
soup= BeautifulSoup(start, features=("lxml"))
print(soup.get_text())
谢谢
解决方案
我已经使用 Java 代码解决了上述问题,它对我来说工作得很好。
附加Java代码以获取更多信息,根据我对Python的理解,您可以直接使用
start = e.text
Java 代码
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
driver.get("https://www.kaggle.com/nareshbhat/health-care-data-set-on-heart-attack-possibility");
List<WebElement> list = driver.findElements(By.cssSelector(".dfXZEj div"));
System.out.println(list.size());
for(WebElement element : list) {
System.out.println(element.getText());
}
driver.quit();
推荐阅读
- sql - 选择查询中的排序规则冲突
- curl - 如何在 Ubuntu 上使用传统 SSL 支持编译 Curl?
- ruby-on-rails - 将 Rails 应用程序从 mongoid (MongoDB) 迁移到 ActiveRecord (Postgres) 时如何获得恒定的内存使用量?
- ios - 如何在传递给另一个类的 WKWebView 上使用 didFinish 导航
- google-cloud-platform - 如何在 GKE 中的节点上设置 raid
- excel - 如何在工作簿中的每个工作表中一起运行这些宏?
- javascript - 单击元素时如何获取元素的ID
- port - JointJs:如何将端口的不同自定义定义为组(输入/输出)
- spring-boot - 尽管明确注册了 TimedAspect,@Timed 仍无法正常工作 - spring boot 2.1
- postgresql - 更新查询在创建的函数中不起作用,但在手动运行时相同的查询