PHP cURL tidak menunjukkan semua teg DOM semasa menyemak koleksi
P粉677684876
P粉677684876 2023-09-12 20:03:06
0
1
529

Saya ingin melaksanakan beberapa kod untuk mengumpul ulasan daripada DOM halaman tertentu.

Hasil cURL tidak lengkap dan saya tidak tahu mengapa kerana beberapa subteg dalam DOM tidak kelihatan dalam hasilnya.

DOM kelihatan seperti ini dalam pemeriksa:

Saya cuba mengumpul DOM menggunakan coretan kod berikut:

$domain = 'feefo.com'; $page_id = 'firebrand-promotions'; $curli = curl_init(); curl_setopt_array($curli, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_FRESH_CONNECT => true, CURLOPT_URL => 'https://www.' . $domain . '/en-US/reviews/' . $page_id . '?displayFeedbackType=SERVICE&timeFrame=YEAR' CURLOPT_HTTPHEADER => [ 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,* /*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Accept-Language: en-US;q=0.8,en;q=0.7', 'Cache-control: max-age=0', 'Referer: https://' . $domain, 'sec-fetch-mode: navigate', 'sec-fetch-site: none', 'sec-fetch-dest: document', 'sec-fetch-user: ?1', 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36' ] ]); $curlResult = curl_exec($curli);

Apa yang saya lihat dalam bahagian kandungan hasil cURL ialah ini:

Jadi penanda kelihatan kosong, tetapi tidak sepatutnya.

Saya cuba mengekstrak kandungan tag menggunakan kod berikut:

$dom = new DOMDocument(); $dom->validateOnParse = true; @$dom->loadHTML($curlResult); $globals = $dom->getElementsByTagName('global'); $xmlPath = new DOMXPath($dom); $reviews = $xmlPath->query('//global');

Tetapi saya masih tidak melihat sebarang teg dalam teg .

Bolehkah seseorang menjelaskan masalah ini kepada saya? bagaimana untuk menyelesaikan masalah ini?

Terima kasih banyak atas bantuan, usaha dan masa anda. :)

P粉677684876
P粉677684876

membalas semua (1)
P粉124070451

Ada kemungkinan besar bahawa apa yang anda perolehi dalam Curl adalah sama seperti yang diperolehi oleh penyemak imbas, tetapi penyemak imbas mula melaksanakan javascript yang mengubah suai DOM.

Anda tidak boleh melihat dengan Curl kerana Curl tidak dapat melaksanakan Javascript.

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!