如何抓取BT天堂电影数据
找了半天没找到想看的,
想到之前有个人爬知乎的用户数据,突发奇想,
没事把BT天堂的电影信息爬下来,下次阔以直接查数据库。
只能说闲的蛋疼,哈哈,还能码下代码 ^_^
1.抓取网站html源码
$url = "www.bttiantang.cc";
$html = shell_exec("curl $url");
2.获取总页数,电影总数(正则匹配)
preg_match("/.*?/", $html, $pageCount);
preg_match_all("/\d{1,10000}/",$pageCount[0],$pageCount);
3.抓取电影信息(正则匹配信息)
preg_match("/\d{4}\/\d{2}\/\d{2}/" , $pageInfo[0][$i], $updateTime);
preg_match("/(.*?)/" , $pageInfo[0][$i], $movieName);
preg_match("/(\d{1})/" , $pageInfo[0][$i], $movieScore_int);
preg_match("/(\d{1})/" , $pageInfo[0][$i], $movieScore_decimal);
preg_match("/href=\"(.*?)\"/" , $pageInfo[0][$i], $movieUrl);
preg_match("/(.*?)/" , $pageInfo[0][$i], $actor);
4.插入数据库,大功告成
总体来说,php抓取的速度还是蛮快的,4min不到,采集2w多条信息。
start:01:22:54
end:01:26:11
附数据库截图:
附源码:
.*?/", $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(.*?)/" , $pageInfo[0][$i], $movieName); /*****same conditions*****/ if(empty($movieName)) preg_match("/(.*?)/" , $pageInfo[0][$i], $movieName); if(empty($movieName)) preg_match("/(.*?)/" , $pageInfo[0][$i], $movieName); /************************/ $movieName = $movieName[1]; preg_match("/(\d{1})/" , $pageInfo[0][$i], $movieScore_int); $movieScore_int = $movieScore_int[1]; preg_match("/(\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("/ (.*?)/" , $pageInfo[0][$i], $actor); $movieActor = str_replace("",'',str_replace("",'',$actor[1])); mysql_unbuffered_query("insert into movie (name,actor,url,update_ts,score) values ('$movieName','$movieActor','$movieUrl', '$updateTime','$movieScore')"); } } ?>
本电影信息属于从BT天堂抓取,并未涉及机密信息,因此本人不承担任何法律责任!
若有相关电影信息涉及您的版权或知识产权或其他利益,请告知,确认后会尽快删除。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了如何抓取BT天堂电影数据,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
推荐阅读
-
防止爬虫爬取的机制(教你如何防止爬虫爬抓取数据)
-
防止爬虫爬取的机制(教你如何防止爬虫爬抓取数据)
-
如何使用动态代理IP并开启多线程做数据抓取? 博客分类: Java代理IP数据抓取 Java代理IP数据抓取封IP动态代理IP
-
如何抓取Js动态生成数据且以滚动页面方式分页的网页 博客分类: HtmlExtractor Js动态生成滚动页面滚动分页网络爬虫数据抓取
-
php如何抓取网页数据?
-
带分页的数据如何抓取?
-
python实践2——利用爬虫抓取豆瓣电影TOP250数据及存入数据到MySQL数据库
-
如何使用代理IP进行数据抓取,PHP爬虫抓取亚马逊商品数据
-
用PHP如何抓取.NET开发的分页控件的数据?
-
js打开一个新页面做预览(用js如何抓取别人网页的数据)