Rumah pembangunan bahagian belakang tutorial php 如何抓取BT天堂电影数据

如何抓取BT天堂电影数据

Jul 30, 2016 pm 01:30 PM
lt match quot

晚上休息,想弄两部好看的电影看看,

找了半天没找到想看的如何抓取BT天堂电影数据

想到之前有个人爬知乎的用户数据,突发奇想如何抓取BT天堂电影数据

没事把BT天堂的电影信息爬下来,下次阔以直接查数据库。如何抓取BT天堂电影数据如何抓取BT天堂电影数据

只能说闲的蛋疼如何抓取BT天堂电影数据,哈哈,还能码下代码  ^_^


1.抓取网站html源码

<span style="font-size:24px;">$url = "www.bttiantang.cc";
$html = shell_exec("curl $url");</span>
Salin selepas log masuk

2.获取总页数,电影总数(正则匹配)

<span style="font-size:24px;">preg_match("/<span class='\"pageinfo\"'>.*?/", $html, $pageCount);
preg_match_all("/\d{1,10000}/",$pageCount[0],$pageCount);</span></span>
Salin selepas log masuk

3.抓取电影信息(正则匹配信息)

<span style="font-size:24px;">preg_match("/\d{4}\/\d{2}\/\d{2}/" , $pageInfo[0][$i], $updateTime);

preg_match("/<font color='\"#FF6600\"'>(.*?)<i>/" , $pageInfo[0][$i], $movieName);
        
preg_match("/<strong>(\d{1})/" , $pageInfo[0][$i], $movieScore_int);
     
preg_match("/<em class='\"fm\"'>(\d{1})/" , $pageInfo[0][$i], $movieScore_decimal);
        
preg_match("/href=\"(.*?)\"/" , $pageInfo[0][$i], $movieUrl);
      
preg_match("/<p class='\"des\"'>(.*?)/" , $pageInfo[0][$i], $actor);
       </p></em></strong></i></font></span>
Salin selepas log masuk

4.插入数据库,大功告成

总体来说,php抓取的速度还是蛮快的,4min不到,采集2w多条信息。

start:01:22:54

end:01:26:11



附数据库截图:



附源码:

<?php $url = "www.bttiantang.cc";
$html = shell_exec("curl $url");

preg_match("/<span class=\"pageinfo\">.*?/", $html, $pageCount);
preg_match_all("/\d{1,10000}/",$pageCount[0],$pageCount);

$pageSize = intval($pageCount[0][0]);
$movieCount = $pageCount[0][1];

$conn = mysql_connect('***','***','');
mysql_select_db('***',$conn);
mysql_query('set names utf8',$conn);

for($j=1;$j.*?/s", $movieHtml, $pageInfo);
    for($i=0;$i<count preg_match ad if str_replace color='\"#FF6600\"'>(.*?)<i>/" , $pageInfo[0][$i], $movieName);
        /*****same conditions*****/
        if(empty($movieName))
            preg_match("/<b>(.*?)<i>/" , $pageInfo[0][$i], $movieName);
        if(empty($movieName))
            preg_match("/<b>(.*?)/" , $pageInfo[0][$i], $movieName);
        /************************/
        $movieName = $movieName[1];

        preg_match("/<strong>(\d{1})/" , $pageInfo[0][$i], $movieScore_int);
        $movieScore_int = $movieScore_int[1];
        preg_match("/<em class='\"fm\"'>(\d{1})/" , $pageInfo[0][$i], $movieScore_decimal);
        $movieScore_decimal = $movieScore_decimal[1];
        $movieScore = floatval($movieScore_int.'.'.$movieScore_decimal);

        preg_match("/href=\"(.*?)\"/" , $pageInfo[0][$i], $movieUrl);
        $movieUrl = $movieUrl[1];

        preg_match("/<p class='\"des\"'>(.*?)/" , $pageInfo[0][$i], $actor);
        $movieActor = str_replace("<em>",'',str_replace("</em>",'',$actor[1]));

        mysql_unbuffered_query("insert into movie (name,actor,url,update_ts,score) values ('$movieName','$movieActor','$movieUrl',<span style="white-space:pre">	</span>'$updateTime','$movieScore')");
    }

}

?></p></em></strong></b></i></b></i></count>
Salin selepas log masuk

本电影信息属于从BT天堂抓取,并未涉及机密信息,因此本人不承担任何法律责任!

若有相关电影信息涉及您的版权或知识产权或其他利益,请告知,确认后会尽快删除。

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了如何抓取BT天堂电影数据,包括了方面的内容,希望对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!

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
1659
14
Tutorial PHP
1258
29
Tutorial C#
1232
24
php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

请教怎么修改url某一参数的参数值呢?是要拆开了再拼回去吗 请教怎么修改url某一参数的参数值呢?是要拆开了再拼回去吗 Jun 13, 2016 am 10:24 AM

请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?那么请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?http://127.0.0.1/myo/newuser.php?mod=search&type=fastone比如现在我要修改mod=new要怎么做呢?------解决方案--------------------发送了请求

Microsoft melancarkan binaan Windows 11 23H2 ke saluran Pratonton Keluaran dengan Copilot Microsoft melancarkan binaan Windows 11 23H2 ke saluran Pratonton Keluaran dengan Copilot Sep 28, 2023 pm 07:17 PM

Semua orang menantikan keluaran Windows 1123H2 hari ini. Malah, Microsoft baru sahaja melancarkan kemas kini kepada pratonton keluaran, iaitu saluran terdekat sebelum peringkat keluaran rasmi. Dikenali sebagai Build 22631, Microsoft berkata mereka sedang melancarkan aplikasi sembang penjenamaan semula baharu, pautan telefon dan memainkan bersama-sama widget yang telah diuji pada saluran dalaman lain sejak beberapa bulan lalu. "Kemas kini baharu ini akan mempunyai cawangan servis dan asas kod yang sama seperti Windows 11 versi 22H2 dan akan terkumpul dengan semua ciri yang baru diumumkan, termasuk Copilot dalam Windows (pratonton)," janji Microsoft. Pegawai Redmond selanjutnya

Bagaimana untuk menggunakan ungkapan biasa untuk memadankan rentetan dalam Java? Bagaimana untuk menggunakan ungkapan biasa untuk memadankan rentetan dalam Java? Apr 19, 2023 pm 02:37 PM

Konsep 1. Pelbagai operasi Padanan boleh digunakan untuk menentukan sama ada Predikat yang diberikan memenuhi unsur Strim. 2. Operasi padanan ialah operasi terminal dan mengembalikan nilai Boolean. Instance booleananyStartsWithA=stringCollection.stream().anyMatch(s)->s.startsWith("a"));System.out.println(anyStartsWithA);//truebooleanallStartsWithA=stringCollection.stream().

Kaedah padanan padanan dalam java Kaedah padanan padanan dalam java Apr 28, 2023 pm 10:31 PM

Ambil perhatian bahawa padanan digunakan untuk operasi pemadanan dan nilai pulangannya adalah daripada jenis boolean. Melalui padanan, anda hanya boleh mengesahkan sama ada unsur tertentu wujud dalam senarai. Contoh // Sahkan sama ada terdapat rentetan dalam senarai bermula dengan a dan padankan yang pertama, iaitu return truebooleananyStartsWithA=stringCollection.stream().anyMatch((s)->s.startsWith("a")) ;System.out .println(anyStartsWithA);//true//Sahkan sama ada rentetan dalam senarai

Cara menggunakan java Match Cara menggunakan java Match Apr 18, 2023 pm 01:55 PM

Konsep 1. Pelbagai operasi Padanan boleh digunakan untuk menentukan sama ada Predikat yang diberikan memenuhi unsur Strim. 2. Operasi padanan ialah operasi terminal dan mengembalikan nilai Boolean. Instance booleananyStartsWithA=stringCollection.stream().anyMatch(s)->s.startsWith("a"));System.out.println(anyStartsWithA);//truebooleanallStartsWithA=stringCollection.stream().

图片消失怎么解决 图片消失怎么解决 Apr 07, 2024 pm 03:02 PM

图片消失如何解决先是图片文件上传$file=$_FILES['userfile'];  if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 Jun 13, 2016 am 10:15 AM

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

See all articles