Rumah php教程 php手册 PHP抓取网页内容的技巧分享

PHP抓取网页内容的技巧分享

Jun 13, 2016 am 11:09 AM
php kenapa kandungan kongsi tindak balas boleh bagaimana capai bakat Kemahiran merangkak betul daripada laman web

如何才能正确的实现可为什么PHP抓取网页内容后没反应呢?连测试的文字都没有,要是我把echo "测试一下";放到第一行就可以输出,我估计是curl_init()函数还没有运行!

你看看PHP的phpinfo()中有没有CURL扩展支持!

把php_curl.dll拷到c:windows和c:windowssystem32里面 重启apache之后再试试看

不是php_curl.dll这个文件,是把php目录中的libeay32.dll,ssleay32.dll拷到c:windowssystem32里面 重启apache

为了服务器安全着想,所以把allow_url_fopen关掉了。

当服务器allow_url_fopen = Off 时,就不能用file_get_contents,只有设置ON时可以用。

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php /*  </span></span></span></li>
<li>
<span>$</span><span class="attribute">getstr</span><span>=</span><span class="attribute-value">file_get_contents</span><span>("http://www.<br>163.com/weatherxml/54511.xml");  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">qx</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($getstr,"</span><span class="attribute">qx</span><span>="));  </span>
</li>
<li>
<span>$</span><span class="attribute">wd</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($getstr,"</span><span class="attribute">wd</span><span>="));  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">qximg</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($getstr,"</span><span class="attribute">qximg</span><span>="));  </span>
</li>
<li>
<span>$</span><span class="attribute">qximg_</span><span>=</span><span class="attribute-value">explode</span><span>(",",$qximg[1]);  </span>
</li>
<li class="alt"><span>echo "北京 ".$qx[1]."";  </span></li>
<li><span>echo $wd[1];*/  </span></li>
<li class="alt">
<span>//echo "</span><span class="tag"><span> </span><span class="tag-name">img</span><span> </span><span class="attribute">src</span><span>=</span><span class="attribute-value">'http://news.<br>163.com/img/logo/".$qximg_[0]."'</span><span class="tag">><br></span><span class="tag"><span> </span><span class="tag-name">img</span><span> </span><span class="attribute">src</span><span>=</span><span class="attribute-value">'http://news.163.com<br>/img/logo/".$qximg_[1]."'</span><span class="tag">></span><span>";  </span></span></span>
</li>
<li>
<span class="tag">?></span><span> </span>
</li>
</ol>
Salin selepas log masuk

以下PHP抓取网页内容的范例是通curl_init函数来获取163天气预报

把php.ini里( ;extension=php_curl.dll ) 前面的(;)去掉保存

把php_curl.dll,libeay32.dll,ssleay32.dll拷到c:windowssystem32里,重启IIS即可,没有装apache

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li><span>//初始化curl  </span></li>
<li class="alt">
<span>$</span><span class="attribute">ch</span><span> = </span><span class="attribute-value">curl_init</span><span>() or die (curl_error());  </span>
</li>
<li><span>//设置URL参数  </span></li>
<li class="alt"><span>curl_setopt($ch,CURLOPT_URL,"http:<br>//www.163.com/weatherxml/54511.xml");  </span></li>
<li><span>//要求CURL返回数据  </span></li>
<li class="alt"><span>curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  </span></li>
<li><span>//执行请求  </span></li>
<li class="alt">
<span>$</span><span class="attribute">result</span><span> = </span><span class="attribute-value">curl_exec</span><span>($ch) or die (curl_error());  </span>
</li>
<li><span>//取得返回的结果,并显示  </span></li>
<li class="alt"><span>//echo $result;  </span></li>
<li><span>// echo curl_error($ch);  </span></li>
<li class="alt">
<span>$</span><span class="attribute">qx</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($result,"</span><span class="attribute">qx</span><span>="));  </span>
</li>
<li>
<span>$</span><span class="attribute">wd</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($result,"</span><span class="attribute">wd</span><span>="));  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">qximg</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($result,"</span><span class="attribute">qximg</span><span>="));  </span>
</li>
<li>
<span>$</span><span class="attribute">qximg_</span><span>=</span><span class="attribute-value">explode</span><span>(",",$qximg[1]);  </span>
</li>
<li class="alt">
<span>echo "北京 ".$qx[1]."</span><span class="tag"><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>";  </span></span>
</li>
<li><span>echo $wd[1];  </span></li>
<li class="alt"><span>//关闭CURL  </span></li>
<li><span>curl_close($ch);  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>
Salin selepas log masuk

通过以上对PHP抓取网页内容的学习,大家可以自行实际操作一遍,加深对它的理解。


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1669
14
Tutorial PHP
1273
29
Tutorial C#
1256
24
Komposer: Membantu pembangunan PHP melalui AI Komposer: Membantu pembangunan PHP melalui AI Apr 29, 2025 am 12:27 AM

AI boleh membantu mengoptimumkan penggunaan komposer. Kaedah khusus termasuk: 1. Pengoptimuman Pengurusan Ketergantungan: AI menganalisis kebergantungan, mengesyorkan kombinasi versi terbaik, dan mengurangkan konflik. 2. Generasi Kod Automatik: AI menjana fail komposer.json yang sesuai dengan amalan terbaik. 3. Meningkatkan Kualiti Kod: AI mengesan masalah yang berpotensi, memberikan cadangan pengoptimuman, dan meningkatkan kualiti kod. Kaedah ini dilaksanakan melalui pembelajaran mesin dan teknologi pemprosesan bahasa semulajadi untuk membantu pemaju meningkatkan kecekapan dan kualiti kod.

Apakah kepentingan fungsi session_start ()? Apakah kepentingan fungsi session_start ()? May 03, 2025 am 12:18 AM

session_start () iscrucialinphpformanaginguserSessions.1) itinitiatesanewsessionifnoneexists, 2) resumeSanexistingsession, dan3) setSasessionCookieforcontinuityAcrossrequests, enableingApplicationeUseUshenticationandPersonalConizedConizedContentContentContentContentContentContentContentContentContentContentContentC.

Langkah -langkah untuk menambah dan memadam medan ke jadual mysql Langkah -langkah untuk menambah dan memadam medan ke jadual mysql Apr 29, 2025 pm 04:15 PM

Di MySQL, tambah medan menggunakan alterTabletable_nameaddcolumnnew_columnvarchar (255) afterexisting_column, memadam medan menggunakan altertabletable_namedropcolumncolumn_to_drop. Apabila menambah medan, anda perlu menentukan lokasi untuk mengoptimumkan prestasi pertanyaan dan struktur data; Sebelum memadam medan, anda perlu mengesahkan bahawa operasi itu tidak dapat dipulihkan; Mengubah struktur jadual menggunakan DDL dalam talian, data sandaran, persekitaran ujian, dan tempoh masa beban rendah adalah pengoptimuman prestasi dan amalan terbaik.

Apakah perbezaan antara kerangka php laravel dan yii Apakah perbezaan antara kerangka php laravel dan yii Apr 30, 2025 pm 02:24 PM

Perbezaan utama antara Laravel dan Yii adalah konsep reka bentuk, ciri -ciri fungsional dan senario penggunaan. 1. Laravel memberi tumpuan kepada kesederhanaan dan keseronokan pembangunan, dan menyediakan fungsi yang kaya seperti alat eloquentorm dan artisan, sesuai untuk pembangunan dan pemula yang pesat. 2.YII menekankan prestasi dan kecekapan, sesuai untuk aplikasi beban tinggi, dan menyediakan sistem Activerecord dan cache yang cekap, tetapi mempunyai lengkung pembelajaran yang curam.

Bagaimana untuk memproses data sensor dalam c? Bagaimana untuk memproses data sensor dalam c? Apr 28, 2025 pm 10:00 PM

C sesuai untuk memproses data sensor kerana prestasi tinggi dan keupayaan kawalan peringkat rendah. Langkah -langkah khusus termasuk: 1. Pengumpulan Data: Dapatkan data melalui antara muka perkakasan. 2. Analisis Data: Tukar data asal ke dalam maklumat yang ada. 3. Pemprosesan Data: Penapisan dan pemprosesan pelicinan. 4. Penyimpanan Data: Simpan data ke fail atau pangkalan data. 5. Pemprosesan masa nyata: Pastikan latensi yang cekap dan rendah kod.

Cara menggunakan fungsi MySQL untuk pemprosesan dan pengiraan data Cara menggunakan fungsi MySQL untuk pemprosesan dan pengiraan data Apr 29, 2025 pm 04:21 PM

Fungsi MySQL boleh digunakan untuk pemprosesan dan pengiraan data. 1. Penggunaan asas termasuk pemprosesan rentetan, pengiraan tarikh dan operasi matematik. 2. Penggunaan lanjutan melibatkan menggabungkan pelbagai fungsi untuk melaksanakan operasi kompleks. 3. Pengoptimuman prestasi memerlukan mengelakkan penggunaan fungsi dalam klausa WHERE dan menggunakan GroupBy dan jadual sementara.

Komposer: Pengurus Pakej untuk Pemaju PHP Komposer: Pengurus Pakej untuk Pemaju PHP May 02, 2025 am 12:23 AM

Komposer adalah alat pengurusan ketergantungan untuk PHP, dan menguruskan kebergantungan projek melalui fail komposer.json. 1) parse composer.json untuk mendapatkan maklumat ketergantungan; 2) Mengurangkan kebergantungan untuk membentuk pokok pergantungan; 3) Muat turun dan pasangkan kebergantungan dari Packagist ke Direktori Vendor; 4) Menjana fail komposer.lock untuk mengunci versi ketergantungan untuk memastikan konsistensi pasukan dan kebolehkerjaan projek.

UniSwap pengeluaran rantaian UniSwap pengeluaran rantaian Apr 30, 2025 pm 07:03 PM

Pengguna UniSwap boleh menarik balik token dari kolam kecairan ke dompet mereka untuk memastikan keselamatan aset dan kecairan. Proses ini memerlukan yuran gas dan dipengaruhi oleh kesesakan rangkaian.

See all articles