[英]preg_match after JS has loaded HTML?
我希望使用preg_match從Vine個人資料頁面中獲取關注者值(示例: https : //vine.co/u/906265806411804672 )。 頁面源的唯一內容是加載HTML的javascript:
window.App = require('appkit/app').create();
但是,一旦javascript加載了HTML,我就可以看到代碼:
<script id="metamorph-20-start" type="text/x-placeholder"></script> "73.1K"
當我使用preg_match查找該73.1值時:
$vineUrl = @file_get_contents('https://vine.co/u/906265806411804672');
preg_match('#<script id="metamorph-20-start" type="text/x-placeholder"></script> "(.*?)"#', $vineUrl, $followCount);
它不搜索呈現的HTML,僅搜索以HTML加載頁面的JS。 頁面完全用HTML呈現后,是否有任何方法可以preg_match來完成JS加載,或者有PHP替代方法來嗅探該值?
正如我在評論中所寫的那樣,JS是客戶端,PHP是服務器端。 因此,如果您使用PHP提取URL,則JS將永遠不會執行。
最好的方法是等到Vine發布API。 到目前為止,Vine還沒有官方的API。 但是,您可以使用一些非官方的API。 但是,請記住,它們可能隨時中斷,並且您可能違反了Vine的服務條款。
我發現的非官方API是
有關API端點(針對PHP和Python API)的描述,請參見https://github.com/starlock/vino/wiki/API-Reference
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.