Php 如何动态刮取页面数据?

Php 如何动态刮取页面数据?,php,web-scraping,xmlhttprequest,Php,Web Scraping,Xmlhttprequest,几天来,我一直在尝试从一个使用asmx post请求检索我想要的数据的网站获取一些数据。我试过php curl、python,现在又试过html解析器,但仍然没有成功。。。该职位要求如下: 经过多次尝试,我发现这个链接为我提供了我想要获得的数据: 但是当我试图用curl打开它或者用simple_html_dom简单地解析它时,它不会显示数据;我只是显示一些文本。。知道我怎样才能得到它吗?我有50多个文件尝试了不同的方法,但没有结果,因此很难发布我的代码。我知道这个问题被标记为php,但您似乎

几天来,我一直在尝试从一个使用asmx post请求检索我想要的数据的网站获取一些数据。我试过php curl、python,现在又试过html解析器,但仍然没有成功。。。该职位要求如下:

经过多次尝试,我发现这个链接为我提供了我想要获得的数据:


但是当我试图用curl打开它或者用simple_html_dom简单地解析它时,它不会显示数据;我只是显示一些文本。。知道我怎样才能得到它吗?我有50多个文件尝试了不同的方法,但没有结果,因此很难发布我的代码。

我知道这个问题被标记为
php
,但您似乎也愿意使用Python,所以我希望这个答案能够满足您的需要

您遇到的问题是,站点是动态创建的(它在页面加载后加载),因此您以前尝试用Python加载页面(如您所说,使用请求)时效果良好,但实际上没有返回任何数据

为了获取您在问题中链接到的站点,我强烈建议您使用Python模块,并与之配套使用。关于如何在Selenium中安装
phantomjs
,这里有一些很好的答案
phantomjs
允许页面完全加载(包括实际使用所需的表信息填充页面的JS)

然后,一旦创建了这两个依赖项,就可以运行以下代码:

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.PhantomJS()
driver.get('https://sports-itainment.biahosted.com/generic/prelive.aspx?token=&clientTimeZoneOffset=-180&lang=en-Gb&walletcode=508729&skinid=betrebels&parentUrl=https://ps.equalsystem.com/ps/game/BIASportbook.action#sportids=&catids=28&champids=91')
soup = BeautifulSoup(driver.page_source)
soup.find_all('tbody')
并与BeautifulSoup互动网页

如果您需要,这是一个很好的附加信息来源


希望有帮助

当您尝试Python时,是否使用了该模块?具体来说,“仍然没有运气”是什么意思?什么不起作用?发生了什么事?你希望发生什么?尝试发布一个.Check-out-这有点难学,但在您尝试的请求、会话、json、PyQt4等情况下可能是正确的解决方案。仍然没有运气。。我最后一次尝试是在php中,我看到作为响应得到的页面在代码中有元素,但作为json,我尝试对它们进行json_解码,并有一个blanc页面作为如何工作的最终想法?
from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.PhantomJS()
driver.get('https://sports-itainment.biahosted.com/generic/prelive.aspx?token=&clientTimeZoneOffset=-180&lang=en-Gb&walletcode=508729&skinid=betrebels&parentUrl=https://ps.equalsystem.com/ps/game/BIASportbook.action#sportids=&catids=28&champids=91')
soup = BeautifulSoup(driver.page_source)
soup.find_all('tbody')