Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何刮取Javascript呈现的数据?_Javascript_Python 2.7_Selenium_Beautifulsoup_Phantomjs - Fatal编程技术网

如何刮取Javascript呈现的数据?

如何刮取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

我已经尝试了一段时间来刮这个页面,无论我尝试什么,我似乎无法获得表数据。我得到的最接近的是表格标题和标题

我尝试过使用PhantomJS、Selenium和其他方法,但我被卡住了

地点:

我试过这个

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