php - 如何在 php 中回显包含 js 文件的网站页面?
问题描述
我想抓取一个网站:https ://tse.ir/MarketWatch.html
我知道我必须使用:
file_get_contents("https://examplesite.html")
获取网站的 html 部分,但我怎样才能找到网站的特定部分,例如文本文件中的这个部分:
<td title="دالبر"title="something" class="txtclass="someclass">Tag namad">دالبر<Name</td>
当我打开文本文件时,我从来没有看到这部分,我认为这是因为网站中有 JavaScript 文件。如何获取包含我想要的每个部分的网站的所有信息?
解决方案
ajax 请求通过 javascript 加载的内容。这意味着您无法仅通过抓取页面内容来获取此数据。
有两种方法可以收集您需要的数据:
- 使用基于selenium webdriver的解决方案,通过真实浏览器(将执行 JS)加载此页面,并从渲染的 DOM 中收集数据。
- 研究网站发送什么样的请求来获取这些数据。您可以在浏览器开发工具中使用网络活动选项卡。这是chrome 的示例。对于其他浏览器是相同或类似的。比您发送相同的请求并响应您的需求。
在您的特定情况下,您可能可以使用以下网址:https : //tseest.ir/json/MarketWatch/data_211111.json 来访问包含您需要的数据的 json 对象。
推荐阅读
- windows - 线性地址空间在哪里?
- python - 从索引到熊猫数据框中的字段名称
- java - 遍历 Frida 中的列表
- strapi - 统计所有用户
- java - 在矩阵中查找单元格的相邻元素
- python - 在所有列中创建具有特定值计数的新列(例如,类似于 COUNTIF)?
- virtual-keyboard - 在 ansi 风格的键盘中,上面输入的反斜杠的 vk 代码是什么
- c++ - 是否可以使用 Google Mock 模拟“pthread_mutex_lock”?
- javascript - 为什么 momentjs 以错误的方式转换时区?
- javascript - 无法将变量传递给 Paypal Smart Button api 的值