最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

php文章内容抓取解决方法

来源:http://erdangjiade.com/topic/79967.html 你好,世界。 2017-10-04 21:03浏览(0)

php文章内容抓取

本帖最后由 yanfangphp 于 2014-08-13 10:14:37 编辑

求大神帮忙抓取这个网页http://sports.sohu.com/zhongchao.shtml的排行榜部分的数据(包括积分榜和射手榜)



------解决方案--------------------
$url = 'http://sports.sohu.com/zhongchao.shtml';
$s = file_get_contents($url);
preg_match_all('/(?<=<p class="turn cons">)s<table.+table>/isU', $s, $m);
print_r(preg_grep('/名次/', $m[0]));
Array
(
[2] =>
<table border=0 cellSpacing=0 cellPadding=0 width="100%">
<tbody>
<tr>
<th width="15%">名次</th>
<th width="47%">球队</th>
<th width="9%">场次</th>
<th width="29%">积分</th></tr>
<tr>
<td>01</td>
<td><a href="http://sports.sohu.com/s2010/7742/s277701524/" target="_blank">广州恒大</a></td>
<td>20</td>
<td>45</td>
</tr>
<tr>
<td>02</td>
<td><a href="http://sports.sohu.com/s2006/7742/s242155493/" target="_blank">北京国安</a></td>
......
接下来自己做
------解决方案--------------------
给你推荐个类 simple_html_dom


include "simple_html_dom.class.php";

$url = "http://sports.sohu.com/zhongchao.shtml";
$dom = new simple_html_dom();
$html = $dom->load(file_get_contents($url));

$res = $html->find("p#turnIDB p.turn");
# 积分榜
echo $res[0]->outertext;
# 射手榜
echo $res[1]->outertext;


结果

------解决方案--------------------
$str=file_get_contents("http://sports.sohu.com/zhongchao.shtml");

preg_match_all('/<tr>s*<td>(.+?)</td>s*<td>(.+?)</td>s*<td>(d+)</td>s*<td>(.+?)</td>s*</tr>/i',$str,$match1);

foreach($match1 as $k=>$v){
if($k!=0){
foreach($v as $k1=>$v1){
if($k1<=15){
$jifen[$k][]=$v1;
}else{
$sheshou[$k][]=$v1;
}
}
}
}
echo "<pre>";
print_r($jifen);
print_r($sheshou);
echo "</pre>";
/*
Array
(
[1] => Array
(
[0] => 01
[1] => 02
[2] => 03
[3] => 04
[4] => 05
[5] => 06
[6] => 07
[7] => 08
[8] => 09
[9] => 10
[10] => 11
[11] => 12
[12] => 13
[13] => 14
[14] => 15
[15] => 16
)

[2] => Array
(
[0] => 广州恒大
[1] => 北京国安
[2] => 广州富力
[3] => 上海东亚
[4] => 贵州茅台
[5] => 山东鲁能
[6] => 天津泰达
[7] => 江苏舜天
[8] => 上海绿地
[9] => 长春亚泰
[10] => 杭州绿城
[11] => 大连阿尔滨
[12] => 上海申鑫

评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2