请帮我抓取这个链接。 链接 - https://chartink.com/screener/time-pass-48 我正在尝试网络抓取,但它没有显示我想要的表格。请帮助我。
我已经尝试过这段代码,但它没有给我想要的结果。
import requests
from bs4 import BeautifulSoup
URL = 'https://chartink.com/screener/time-pass-48'
page = requests.get(URL)
print(page)
soup = BeautifulSoup(page.content, 'html.parser')
print(soup)
Chartink.com 上的数据是动态加载的,这意味着数据不是直接嵌入到 HTML 中,而是在页面加载后使用 JavaScript 获取的。像 BeautifulSoup 这样的库主要用于解析静态 HTML 内容,因此无法直接提取此类动态内容。
要抓取 Chartink.com 或其他任何依赖 JavaScript 加载数据的网站,你需要使用像 Selenium 或 Playwright 这样的工具,这些工具可以渲染网页并在浏览器中执行 JavaScript。这些工具使你能够与页面交互,就像真实用户一样,然后抓取渲染的内容。
以下是如何使用 Python 中的 Selenium 抓取数据的基本示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 用合适的路径替换你的 webdriver 路径
driver_path = "path/to/chromedriver"
driver = webdriver.Chrome(driver_path)
driver.get("https://chartink.com/screener/time-pass-48")
# 等待表格加载
table = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "table.screener-table"))
)
# 打印表格数据
print(table.text)
# 关闭浏览器
driver.quit()
这段代码将:
- 打开 Chrome 浏览器。
- 导航到指定的 Chartink 筛选器页面。
- 等待表格加载。
- 打印表格的内容。
- 关闭浏览器。
你需要安装 Selenium 浏览器驱动程序和 Selenium Python 库:
pip install selenium
并在 https://chromedriver.chromium.org/downloads 为你的浏览器版本下载相应的驱动程序。
请记住,抓取网站时应始终遵守其使用条款和 robots.txt 文件。
标签:python,html,web,web-scraping,beautifulsoup From: 68188760