100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php 正则表达式抓取网页内容

php 正则表达式抓取网页内容

时间:2023-08-03 02:38:57

相关推荐

php 正则表达式抓取网页内容

后端开发|php教程

php 正则表达式抓取网页内容

后端开发-php教程

php 抓取网页内容优化

javashop-b2c源码,怎么关掉默认vscode,ubuntu杀python,项目tomcat启动慢,kalilinux 爬虫,vim php 插件,seo需要什么专利,除甲醛网站 源码,如何韩国视频网站模板下载 迅雷下载lzw

我想在youku网抓取高清视频的链接,然后发到手机客户端那里,可是抓取的时间不理想(大概50个视频,电脑抓取显示在网页都要6秒多,发送到手机更要30秒),想问有什么优化方法呢?

输入法 源码,韩骏 vscode,ubuntu网卡恢复默认配置,tomcat优点特点,sqlite 有日期类型,spin.js插件,前端各大框架使用数据,go语言爬虫练习,php $this关键字,济南seo网络优化,网站内容管理 开源,网页自动弹出提示框,整形医院网站dede模板,css页面 源代码,java课设小型超市管理系统,装修公司网站程序lzw

回复讨论(解决方案)

jsp如何发布网站源码,ubuntu软件网站,爬虫正确方法图解,类似php python,秀山seo营销lzw

换光纤 !

楼主是要抓链接吧,不是抓视频内容吧,用CURL

楼主是要抓链接吧,不是抓视频内容吧,用CURL

我现在用的是正则表达式抓取标签,时间太长了,你是说可以用curl来做?

有没有具体的思路

你可以把你的代码贴出来,看有没有可优化的地方。

你可以把你的代码贴出来,看有没有可优化的地方。

<?php$url="/wap/";//$reg1="/^$/i";$reg1="/(.*?)/i";//获取视频链接$reg2="/]*)\s*class=\"imgdetail\"\s*src=(|\")([^\\"]+)(|\")/i";$reg3="";$reg4= "/

.*?/i";//获取视频标题$content=file_get_contents($url);preg_match_all($reg1, $content,$matches);$video=$matches[0];//首页视频的链接$resultArray=array();//装载所有数据的数组//$subArray=array();//子数组foreach ($video as $key){//处理url,得到视频的点击网址$position=strpos($key, "href");$substring=substr($key, $position+11);$pos=strpos($substring, ">");$link=substr($substring, 0,$pos-1);$nextUrl=$url.$link;$nextContent=file_get_contents($nextUrl);//获取视频图片preg_match_all($reg2, $nextContent,$img);$img_arr=$img[0];foreach ($img_arr as $arr){$position=strpos($arr, "src");$sub=substr($arr, $position+5);$last=substr($sub, 0,$pos);}//获取视频高清点播地址preg_match_all($reg3, $nextContent,$vids);$video_arr=$vids[0];$vid=$video_arr[0];$position=strpos($vid, "href");$v_string=substr($vid, $position+11);$pos=strpos($v_string, "\"");$add=substr($v_string, 0,$pos);$video_url=$url.$add;//获取视频的标题preg_match_all($reg4, $nextContent,$match);$title=$match[0];$r=serialize($title);$position=mb_strpos($r, "

");$sub=substr($r, 0,$position);$pos=mb_strrpos($sub, ">");$til=substr($sub, $pos+1);$subArray=array(image=>$last,video=>$video_url, itle=>$til);array_push($resultArray, $subArray);}$resultJson=json_encode($resultArray);file_put_contents(web.txt, print_r($resultJson,true));

以上就是全部代码了..

foreach ($video as $key)

{

$nextContent=file_get_contents($nextUrl);

我说换光纤吧,循环地 file_get_contents,6秒很便宜了

foreach ($video as $key)

{

$nextContent=file_get_contents($nextUrl);

我说换光纤吧,循环地 file_get_contents,6秒很便宜了

?丝换不起

用curl_multi_exec()并发抓取

用curl_multi_exec()并发抓取

虽然还没弄好,但是大神提供了思路,也提供我学习的方向!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。