如何刮取Javascript呈现的数据?
我已经尝试了一段时间来刮这个页面,无论我尝试什么,我似乎无法获得表数据。我得到的最接近的是表格标题和标题 我尝试过使用PhantomJS、Selenium和其他方法,但我被卡住了 地点: 我试过这个如何刮取Javascript呈现的数据?,javascript,python-2.7,selenium,beautifulsoup,phantomjs,Javascript,Python 2.7,Selenium,Beautifulsoup,Phantomjs,我已经尝试了一段时间来刮这个页面,无论我尝试什么,我似乎无法获得表数据。我得到的最接近的是表格标题和标题 我尝试过使用PhantomJS、Selenium和其他方法,但我被卡住了 地点: 我试过这个 import platform from bs4 import BeautifulSoup from selenium import webdriver PHANTOMJS_PATH='./phantomjs' browser = webdriver.PhantomJS(PHANTOMJS_PA
import platform
from bs4 import BeautifulSoup
from selenium import webdriver
PHANTOMJS_PATH='./phantomjs'
browser = webdriver.PhantomJS(PHANTOMJS_PATH)
browser.get('http://marketwatch.dfm.ae/')
# let's parse our html
soup = BeautifulSoup(browser.page_source, "html.parser")
# get all the table data
tabdata = soup.find_all('tr', {'id': 'mw'})
print tabdata
感谢您的帮助。
谢谢看起来该表可能是异步加载的,因此,如果您点击该页面并仅删除初始HTML,您将看不到该表的内容。快速查看一下浏览器中的“网络”选项卡,我发现它们有一个API端点,可以执行各种“命令”。我不确定他们是否在任何地方记录了他们的API,但这可能值得一看,而不是删除HTML。嗯,我会看看API调用,也许我会得到一个提示,但他们的网站上没有任何API文档。看起来该表可能是异步加载的,因此,如果您点击该页面并仅删除初始HTML,您将看不到该表的内容。快速查看一下浏览器中的“网络”选项卡,我发现它们有一个API端点,可以执行各种“命令”。我不确定他们是否在任何地方记录他们的API,但这可能值得一看,而不是删除HTML。嗯,我会看看API调用,也许我会得到一个提示,但他们的网站上没有任何API文档。
import platform
from bs4 import BeautifulSoup
from selenium import webdriver
PHANTOMJS_PATH='./phantomjs'
browser = webdriver.PhantomJS(PHANTOMJS_PATH)
browser.get('http://marketwatch.dfm.ae/')
# let's parse our html
soup = BeautifulSoup(browser.page_source, "html.parser")
# get all the table data
tabdata = soup.find_all('tr', {'id': 'mw'})
print tabdata