簡體   English   中英

JS加載HTML之后會執行preg_match嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM