PHP爬取糗事百科首页糗事
PHP爬取糗事百科首页糗事
突然想获取一些网上的数据来玩玩,因为有SAE的MySql数据库,让它在那呆着没有什么卵用!于是就开始用PHP编写一个爬取糗事百科首页糗事的小程序,数据都保存在MySql中,岂不是很好玩!
说干就干!首先确定思路
获取HTML源码--->解析HTML--->保存到数据库
没有什么难的
1、创建PHP文件“getDataToDB.php”,
2、获取指定URL的HTML源码
这里我用的是curl函数,详细内容参见PHP手册
代码为
<span new="" style="font-family:Times">// 获取对应链接的HTMLCODE function GetHtmlCode($url) { $ch = curl_init (); // 初始化一个cur对象 curl_setopt ( $ch, CURLOPT_URL, $url ); // 设置需要抓取的网页 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 设置crul参数,要求结果保存到字符串中还是输出到屏幕上 curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 1000 ); // 设置链接延迟 $HtmlCode = curl_exec ( $ch ); // 运行curl,请求网页 return $HtmlCode; }</span>
这里我没有能力使用正则表达式,就在网上海搜,终于找到这个,就像Java使用Jsoup(使用Jsoup解析滁州学院官网获取新闻列表)一样,具体参见BLOG
代码如下
<span new="" style="font-family:Times">function getFmlDataToDB() { $link = mysql_connect ( SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS ); // 获取源码 $html = str_get_html ( GetHtmlCode ( http://www.qiushibaike.com/ ) ); if ($link) { mysql_select_db ( SAE_MYSQL_DB, $link ); mysql_query ( 'set names utf8' ); // class=article block untagged mb15 foreach ( $html->find ( 'div[class=article block untagged mb15]' ) as $per ) { $z = null; $t = null; $w = null; $d = null; $p = null; $ds = null; $ps = null; // //作者 $author = $per->find ( 'div[class=author]' ); if ($author != null) { $a = $author [0]->find ( 'a' ); $z = $a [1]->innertext; } else { $z = 'no author'; } // 头像链接 if ($author != null) { $icon = $author [0]->find ( 'a' ); $t = $icon [0]->src->innertext; } else { $t = '...............'; } // 文章内容 $content = $per->find ( 'div[class=content]' ); $w = $content [0]->innertext; // 点赞数 $vote1 = $per->find ( 'div[class=stats]' ); $vote2 = $vote1 [0]->find ( 'span[class=stats-vote]' ); $vote3 = $vote2 [0]->find ( 'i[class=number]' ); $d = $vote3 [0]->innertext; // 评论数 $comments1 = $vote1 [0]->find ( 'span[class=stats-comments]' ); $comments2 = $comments1 [0]->find ( 'a[class=qiushi_comments]' ); $comments3 = $comments2 [0]->find ( 'i[class=number]' ); $p = $comments3 [0]->innertext; // 顶 数 $up_down = $per->find ( 'div[class=stats-buttons bar clearfix]' ); $up_down1 = $up_down [0]->find ( 'ul' ); $li = $up_down1 [0]->find ( 'li' ); $up = $li [0]->find ( 'span[class=number hidden]' ); $ds = $up [0]->innertext; // 拍 数 $down = $li [1]->find ( 'span[class=number hidden]' ); $ps = $down [0]->innertext; } } else { echo '数据库链接KO'; } }</span>
4、创建数据库,将数据插入到数据库中
这里我使用的SAE中的MySQL,具体的连接方发参见使用PHP连接SAE中的MySql数据库
需要注意的就是编码格式,区要在执行语句前加上这样一句话
<span style="font-family:Microsoft">mysql_query ( 'set names utf8' );</span>
<span style="font-family:Microsoft"> $sql = INSERT INTO `app_bmhjqs`.`db_fml` (`id`, `author`, `icon_url`, `content`, `vote`, `comments`, `up`, `down`) VALUES (NULL, '$z', '$t', '$w', '$d', '$p', '$ds', '$ps');; // 解决乱码 mysql_query ( 'set names utf8' ); $result = mysql_query ( $sql );</span>
这样一来,获取--->解析--->插入就完成了,效果就是运行一次PHP文件,数据库就添加了糗事百科首页上的糗事!我想可不可以写个定时器,每隔一定时间就运行一次代码,这一点在java我可以实现,在php我不会,毕竟是个没长毛的小鸟!百度吧。。。搜到这样的写法
<span new="" style="font-family:Times">// 定时器 // ignore_user_abort (); // run script. in background // set_time_limit ( 0 ); // run script. forever // $interval = 30; // do every 15 minutes.. // do { // echo date ( 'Y-m-d H:i:s', time () ); // echo '写入数据库'; // //getFmlDataToDB (); // } while ( true );</span>
今天早上,我迫不及待的打开电脑,打开SAE数据库,情况如下:
额滴神!受不鸟了,赶紧把定时器关掉了,写了个按钮触发事件!这样下去,数据库会被挤满的!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk menyediakan halaman utama Google Chrome? Google Chrome ialah perisian penyemak imbas web yang paling popular hari ini. dan sesetengah orang suka menetapkan halaman utama sebagai enjin carian lain, jadi di manakah ia harus ditetapkan? Seterusnya, editor akan membawakan anda kaedah pantas untuk menyediakan halaman utama Google Chrome saya harap ia boleh membantu anda. Cara cepat menetapkan halaman utama Google Chrome 1. Buka Google Chrome (seperti yang ditunjukkan dalam gambar). 2. Klik butang menu di penjuru kanan sebelah atas antara muka (seperti yang ditunjukkan dalam gambar). 3. Pilih pilihan "Tetapan" (seperti yang ditunjukkan dalam gambar). 4. Dalam menu tetapan, cari "Enjin Carian" (seperti

Apakah yang perlu saya lakukan jika halaman utama Google Chrome berubah kepada 360? Google Chrome ialah penyemak imbas yang ringkas dan mudah, tetapi ramai rakan mendapati bahawa halaman utama yang ringkas telah digantikan dengan halaman utama 360 semasa digunakan Jika mereka ingin memulihkannya kepada gaya asalnya, bagaimanakah ia harus ditetapkan? Di bawah, editor akan menunjukkan kepada anda cara memulihkan halaman utama Google Chrome. Penyelesaian: 1. Mula-mula buka Google Chrome. 2. Jika anda ingin menukarnya kepada lalai, klik tiga titik di penjuru kanan sebelah atas. 3. Klik [Settings] untuk membuka halaman tetapan. 4. Klik [Startup]. 5. Seperti yang ditunjukkan dalam gambar, [Buka halaman web tertentu atau sekumpulan halaman web] di sini ialah URL Navigasi 360. 6. Klik tiga titik di sebelah kanan navigasi 360. 7. Klik [Remove]. ,

Kaedah reka bentuk dan pembangunan UniApp untuk merealisasikan halaman utama dan halaman navigasi 1. Pengenalan UniApp ialah alat pembangunan merentas platform yang dibina pada rangka kerja Vue.js, yang boleh menyusun satu set kod untuk menghasilkan aplikasi untuk berbilang platform. Dalam UniApp, halaman utama dan halaman navigasi ialah dua halaman yang diperlukan semasa membangunkan aplikasi Artikel ini akan memperkenalkan cara mereka bentuk dan membangunkan dua halaman ini dalam UniApp, dan menyediakan contoh kod yang sepadan. 2. Reka bentuk halaman utama dan kaedah pembangunan Struktur halaman Halaman utama UniApp umumnya termasuk bar tajuk, karusel dan klasifikasi

Kaedah untuk mengembalikan subhalaman html ke halaman utama: 1. Gunakan hiperpautan 2. Gunakan JavaScript 3. Gunakan sejarah pelayar; Pengenalan terperinci: 1. Gunakan hiperpautan, tambahkan hiperpautan dalam sub-halaman, pautkannya ke URL halaman utama, tambahkan pautan "kembali ke halaman utama" di bahagian bawah sub-halaman atau dalam bar navigasi, gunakan teg "<a>" untuk membuat hiperpautan, tetapkan atribut "href" ke URL halaman utama 2. Gunakan JavaScript untuk melaksanakan fungsi kembali ke halaman utama melalui kod JavaScript, dsb.

"Adventure Treasure Hunt and Defeat the Demon King" ialah permainan perang RogueLike dengan latar belakang fantasi Barat Permainan baharu ini dalam talian. Seterusnya, editor akan membawakan anda senarai perkongsian empat fungsi NPC halaman utama dalam "Adventure Treasure Hunt dan Defeat the Demon King". Pemburuan harta karun pengembaraan dan kemudian mengalahkan syaitan Halaman Utama Fungsi NPC memperkenalkan fungsi 4 halaman utama NPC: 1. Kumpulan pengembaraan: naik taraf kumpulan pengembaraan, naik taraf kumpulan pengembaraan musim, naik taraf had atas peralatan (ransel) Selepas pengembaraan, ingat. untuk membersihkan beberapa peralatan buangan Jika tidak, ia akan menduduki ruang grid), dan had atas bilangan aksara boleh dinaik taraf (hanya terdapat 8 slot aksara pada mulanya, dan aksara emas boleh melebihi mereka) 2. Pelatih: Latih aksara (ungu dan emas boleh dilatih), naik taraf

Bagaimana untuk menyediakan halaman utama penyemak imbas 360? Pelayar 360 adalah perisian pelayar web yang sangat selamat Pelayar ini mempunyai fungsi dan perkhidmatan yang kaya. Ramai pengguna suka menggunakan pelayar ini untuk bekerja halaman utama ini, dan ramai pengguna memilih halaman utama yang lebih ringkas Jadi bagaimana kita menetapkan halaman utama 360 Browser? Seterusnya, editor akan memperkenalkan kepada anda cara menyediakan halaman utama penyemak imbas 360 Datang dan lihat. Pengenalan kepada cara menyediakan halaman utama 360 Browser 1. Pertama, anda perlu memasukkan antara muka utama 360 Secure Browser (seperti yang ditunjukkan dalam gambar). 2. Klik pilihan "Tiga Jalur" di penjuru kanan sebelah atas, dan kemudian klik pilihan "Tetapan" yang muncul dalam menu lungsur untuk memasuki antara muka tetapan.

Cara mereka bentuk sistem beli-belah runcit Java dengan fungsi karusel di laman utama Dengan perkembangan Internet, gaya hidup orang ramai juga sentiasa berubah. Semakin ramai orang memilih untuk membeli-belah dalam talian, termasuk barangan runcit. Bagi memenuhi keperluan pengguna, banyak platform membeli-belah barangan runcit telah melancarkan fungsi tempahan barangan runcit dalam talian. Dalam platform ini, karusel halaman utama adalah salah satu fungsi yang sangat penting. Artikel ini akan memperkenalkan cara mereka bentuk sistem beli-belah runcit suis Java dengan fungsi karusel pada halaman utama. 1. Analisis keperluan fungsional Sebelum mereka bentuk fungsi karusel halaman utama, kita perlu menganalisis dan memahami

Jawapan kepada Ensiklopedia Sejarah Alam Si Ling Shui Yuan ialah ensiklopedia sejarah semula jadi yang menjawab cabaran dalam permainan Jadi apakah jawapan kepada cabaran menjawab ini? Hari ini, editor telah menyusun jawapan kepada soalan dalam ensiklopedia sejarah semula jadi ini untuk semua orang, dan memberikan anda lokasi terperinci jawapan, yang boleh membantu anda menyelesaikan cabaran menjawab soalan dalam ensiklopedia sejarah semula jadi ini dengan lebih baik. . Kandungan terperinci boleh didapati dalam artikel ini Mari kita lihat ensiklopedia sejarah semula jadi dan jawapan kepada semua soalan dan jawapan tentang Si Ling Shui Yuan. Panduan menjawab soalan Ensiklopedia Muzium Condor Si Ling Shui Yuan 1. Mula-mula datang ke lokasi seperti gambar di bawah. 2. Anda boleh menemui watak bernama Meng Gong di sini, dan kemudian berbual dengannya, dan kemudian anda boleh mengambil bahagian dalam cabaran menjawab soalan Silingshuiyuan. 1. Siapakah yang membina Lingshui Yuan? Jawapan: [Wanyan Jing] 2. Penganjur persembahan ditangkap semula
