Rumah php教程 php手册 PHP 实现小偷程序

PHP 实现小偷程序

Jun 06, 2016 pm 07:41 PM
php kenapa guna capai merangkak program jauh

为什么使用“小偷程序”? 远程抓取文章资讯或商品信息是很多企业要求程序员实现的功能,也就是俗说的 小偷程序 。其最主要的优点是:解决了公司网编繁重的工作,大大提高了效率。只需要一运行就能快速的抓取别人网站的信息。 “小偷程序”在哪里运行? “小

为什么使用“小偷程序”?

        远程抓取文章资讯或商品信息是很多企业要求程序员实现的功能,也就是俗说的小偷程序。其最主要的优点是:解决了公司网编繁重的工作,大大提高了效率。只需要一运行就能快速的抓取别人网站的信息。

“小偷程序”在哪里运行?

        “小偷程序” 应该在 Windows 下的 DOS(参考文章:http://blog.csdn.net/liruxing1715/article/details/7079488) 或 Linux 下通过 PHP 命令运行为最佳,因为,网页运行会超时。

        比如图(Windows 下 DOS 为例):

        PHP 实现小偷程序

“小偷程序”的实现

        这里主要通过一个实例来讲解,我们来抓取下“华强电子网”的资讯信息,请先看观察这个链接 http://www.hqew.com/info-c10.html,当您打开这个页面的时候发现这个页面会发现一些现象:

        1、资讯列表有 500 页(2012-01-03);

        2、每页的 url 链接都有规律,比如:第1页为http://www.hqew.com/info-c10-1.html;第2页为http://www.hqew.com/info-c10-2.html;……第500页为http://www.hqew.com/info-c10-500.html;

        3、由第二点就可以知道,“华强电子网” 的资讯是伪静态或者是生成的静态页面

        其实,基本上大部分的网站都有这样的规律,比如:中关村在线、慧聪网、新浪、淘宝……。

        这样,我们可以通过这样的思路来实现页面内容的抓取:

        1、先获取文章列表页内容;

        2、根据文章列表页内容循环获取文章的 url 地址;

        3、根据文章的 url 地址获取文章的详细内容

        这里,我们主要抓取资讯页里面的:标题(title)、发布如期(date)、作者(author)、来源(source)、内容(content)

“华强电子网”资讯抓取

        首先,先建数据表结构,如下所示:

CREATE TABLE `article`.`article` (
`id` MEDIUMINT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`title` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`date` VARCHAR( 50 ) NOT NULL ,
`author` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`source` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`content` TEXT NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Salin selepas log masuk

        抓取程序:
Salin selepas log masuk

通过上面的程序,就可以实现抓取华强电子网的资讯信息。

入口方法 init($min, $max) 如果想抓取 1-500 页面内容,那么 init(1, 500) 即可!这样,用不了多长时间,华强电子网的资讯就会全部抓取到数据库里面了。^_^

执行界面:

PHP 实现小偷程序

数据库:

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 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)

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Bacaan fail fileReader front-end: Mengapa anda perlu memberi instantiate terlebih dahulu dan kemudian membaca? Bacaan fail fileReader front-end: Mengapa anda perlu memberi instantiate terlebih dahulu dan kemudian membaca? Apr 04, 2025 pm 01:48 PM

Mengenai instansiasi dan bacaan fail dalam pembangunan front-end, kita sering perlu memproses fail yang dimuat naik oleh pengguna. gunakan

Tutorial mengenai cara mewakili pembahagi biasa dalam fungsi bahasa c Tutorial mengenai cara mewakili pembahagi biasa dalam fungsi bahasa c Apr 03, 2025 pm 11:21 PM

Kaedah untuk mencari pembahagi umum yang paling baik dan elegan dalam bahasa C: menggunakan bahagian fasa untuk menyelesaikan dengan sentiasa membahagikan selebihnya sehingga selebihnya adalah 0. Dua kaedah pelaksanaan disediakan: rekursi dan lelaran adalah ringkas dan jelas, dan pelaksanaan berulang lebih tinggi dan lebih stabil. Beri perhatian untuk mengendalikan nombor negatif dan 0s, dan pertimbangkan pengoptimuman prestasi, tetapi bahagian fasa itu sendiri cukup cekap.

Terokai Pemisahan dan Penggabungan Fail: Alat Revolusi untuk Mengurus Fail Besar Terokai Pemisahan dan Penggabungan Fail: Alat Revolusi untuk Mengurus Fail Besar Apr 04, 2025 am 07:15 AM

Pernahkah anda mengalami kesukaran memindahkan atau menyimpan sejumlah besar fail? Ketahui mengenai FileSplitter & Penggabungan, projek sumber terbuka yang direka untuk memudahkan cabaran ini dengan cara yang elegan dan cekap. Apa yang dilakukan oleh projek ini? Segmentasi dan gabungan fail terdiri daripada dua alat: Pembahagi fail -membahagikan fail besar ke dalam ketulan yang lebih kecil. Gabungan fail -mengapa berguna untuk menggabungkan semula blok ini ke dalam fail asal? Bekerja dengan fail yang sangat besar boleh menakutkan, terutamanya apabila memindahkan atau menyimpannya. Alat ini membolehkan anda memecah fail ke dalam serpihan yang boleh diurus dan kemudian membina semula fail asal dari serpihan tersebut. Splitter Fail Program ini memecahkan fail input ke dalam kepingan yang lebih kecil daripada saiz yang ditentukan. Setiap blok disimpan sebagai fail berasingan. Penggunaan: Salin teks untuk dibahagikan

Perbezaan hasil output Console.log: Mengapa pembolehubah yang sama mempunyai kaedah percetakan yang berbeza tetapi hasil yang berbeza? Perbezaan hasil output Console.log: Mengapa pembolehubah yang sama mempunyai kaedah percetakan yang berbeza tetapi hasil yang berbeza? Apr 04, 2025 am 11:48 AM

Perbincangan mendalam tentang perbezaan dalam konsol.log output dalam artikel ini akan menganalisis sebab-sebab mengapa hasil output fungsi Console.log dalam sekeping kod adalah berbeza. Coretan kod melibatkan resolusi parameter URL ...

Kenapa tidak ada maklumat permintaan halaman di rangkaian konsol selepas melompat Vue-router? Kenapa tidak ada maklumat permintaan halaman di rangkaian konsol selepas melompat Vue-router? Apr 04, 2025 pm 05:27 PM

Kenapa tidak ada maklumat permintaan halaman di rangkaian konsol selepas melompat Vue-router? Apabila menggunakan Vue-Router untuk pengalihan halaman, anda mungkin melihat ...

Mengapa kod RXJS saya tidak berkuatkuasa semasa beroperasi di sungai? Mengapa kod RXJS saya tidak berkuatkuasa semasa beroperasi di sungai? Apr 04, 2025 pm 06:27 PM

Mengapa kod saya tidak berkuat kuasa apabila menggunakan RXJS untuk beroperasi di sungai? Belajar RXJS ...

Pembolehubah yang tidak digunakan dalam C/C: Mengapa dan Bagaimana? Pembolehubah yang tidak digunakan dalam C/C: Mengapa dan Bagaimana? Apr 03, 2025 pm 10:48 PM

Dalam tinjauan kod C/C, sering terdapat kes di mana pembolehubah tidak digunakan. Artikel ini akan meneroka sebab -sebab umum untuk pembolehubah yang tidak digunakan dan menerangkan bagaimana untuk mendapatkan pengkompil untuk mengeluarkan amaran dan bagaimana untuk menindas amaran tertentu. Punca -punca pembolehubah yang tidak digunakan Terdapat banyak sebab untuk pembolehubah yang tidak digunakan dalam kod: kelemahan kod atau kesilapan: Sebab yang paling langsung ialah terdapat masalah dengan kod itu sendiri, dan pembolehubah mungkin tidak diperlukan sama sekali, atau mereka diperlukan tetapi tidak digunakan dengan betul. Kod Refactoring: Semasa proses pembangunan perisian, kod akan diubahsuai dan refactored secara berterusan, dan beberapa pembolehubah penting sekali boleh ditinggalkan dan tidak digunakan. Pembolehubah Reserved: Pemaju boleh mendahului beberapa pembolehubah untuk kegunaan masa depan, tetapi mereka tidak akan digunakan pada akhirnya. Penyusunan Bersyarat: Sesetengah pembolehubah hanya boleh berada di bawah keadaan tertentu (seperti mod debug)

See all articles