从 https://chenmed.wd1.myworkdayjobs.com/en-US/jencare/ 抓取和提取数据,当它在网页的 'Source Code' 中不可见时

Scrape and Extract data from https://chenmed.wd1.myworkdayjobs.com/en-US/jencare/ when it is not visible in the 'Source Code' of the webpage

我正在尝试编写一个自动化的 PHP 脚本来从 URL https://chenmed.wd1.myworkdayjobs.com/en-US/jencare/

然而,这似乎并不简单,因为所需的数据在网页的源代码中不是直接可见的。我也尝试检查 'Developer Tools->Network' 不同的浏览器,但是找不到数据源。

非常感谢任何帮助。

感谢和问候!

查看网站发出的请求,您会注意到一个包含您关心的数据的 XHR 请求:

然而,在浏览器中访问 URL 会得到与导航到 https://chenmed.wd1.myworkdayjobs.com/en-US/jencare/ 相同的结果。通过查看请求 headers

进一步调查

有人注意到 Accept:application/json,application/xml(这表示客户期望 json 或 xml 文档)。事实证明,用这个额外的 header returns 请求 https://chenmed.wd1.myworkdayjobs.com/en-US/jencare/ 所需的数据是真的:

>>> import urllib.request
>>> req = urllib.request.Request('https://chenmed.wd1.myworkdayjobs.com/en-US/jencare/')
>>> req.add_header('Accept', 'application/json,application/xml')
>>> urllib.request.urlopen(req).read().decode('utf-8').find('Primary Care Physician ') > 0
True

因此,在 PHP 中,您可能需要执行以下步骤:

  1. 请求 ttps://chenmed.wd1.myworkdayjobs.com/en-US/jencare/ 附加 header Accept:application/json,application/xml(参见 How do I send a GET request with a header from PHP?
  2. 解析返回的JSON(例如使用http://php.net/manual/de/function.json-decode.php