php文章内容抓取
求大神帮忙抓取这个网页http://sports.sohu.com/zhongchao.shtml的排行榜部分的数据(包括积分榜和射手榜)
回复讨论(解决方案)
抓取 研究研究 phpquery
$url = 'http://sports.sohu.com/zhongchao.shtml';$s = file_get_contents($url);preg_match_all('/(?<=<div 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>......
可以使用preg_match去抓取对应的HTML代码然后再正则过滤你想要的数据即可。
给你推荐个类 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("div#turnIDB div.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 class="brush:php;toolbar:false">";print_r($jifen);print_r($sheshou);echo "
后面的自己处理吧
$url = 'http://sports.sohu.com/zhongchao.shtml';$s = file_get_contents($url);preg_match_all('/(?<=<div 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>......
我输出出来的怎么是一个空数组
sohu的页面是gb2312的,采集后需要转utf8,否则会乱码
echo '<meta http-equiv="content-type" content="text/html;charset=utf-8">';$url = 'http://sports.sohu.com/zhongchao.shtml';$s = file_get_contents($url);$s = iconv('GBK','UTF8', $s); // gb2312转utf8preg_match_all('/(?<=<div class="turn cons">)\s<table.+table>/isU', $s, $m);// 获取积分榜preg_match_all('/<tr>\s*<td>(.+?)<\/td>\s*<td>(.+?)<\/td>\s*<td>(\d+)<\/td>\s*<td>(.+?)<\/td>\s*<\/tr>/i',$m[0][2],$scores);$scoreboard = array();for($i=0,$len=count($scores[1]); $i<$len; $i++){ $tmp = array($scores[1][$i],strip_tags($scores[2][$i]),$scores[3][$i],$scores[4][$i]); array_push($scoreboard, $tmp);}print_r($scoreboard);// 射手榜preg_match_all('/<tr>\s*<td>(.+?)<\/td>\s*<td>(.+?)<\/td>\s*<td>(\d+)<\/td>\s*<td>(.+?)<\/td>\s*<\/tr>/i',$m[0][3],$shooters);$shooterboard = array();for($i=0,$len=count($shooters[1]); $i<$len; $i++){ $tmp = array($shooters[1][$i],strip_tags($shooters[2][$i]),$shooters[3][$i],$shooters[4][$i]); array_push($shooterboard, $tmp);}print_r($shooterboard);
积分榜
Array( [0] => Array ( [0] => 01 [1] => 广州恒大 [2] => 20 [3] => 45 ) [1] => Array ( [0] => 02 [1] => 北京国安 [2] => 19 [3] => 41 ) [2] => Array ( [0] => 03 [1] => 广州富力 [2] => 19 [3] => 34 ) [3] => Array ( [0] => 04 [1] => 上海东亚 [2] => 19 [3] => 31 ) [4] => Array ( [0] => 05 [1] => 贵州茅台 [2] => 19 [3] => 30 ) [5] => Array ( [0] => 06 [1] => 山东鲁能 [2] => 19 [3] => 28 ) [6] => Array ( [0] => 07 [1] => 天津泰达 [2] => 19 [3] => 27 ) [7] => Array ( [0] => 08 [1] => 江苏舜天 [2] => 18 [3] => 25 ) [8] => Array ( [0] => 09 [1] => 上海绿地 [2] => 20 [3] => 23 ) [9] => Array ( [0] => 10 [1] => 长春亚泰 [2] => 19 [3] => 21 ) [10] => Array ( [0] => 11 [1] => 杭州绿城 [2] => 19 [3] => 21 ) [11] => Array ( [0] => 12 [1] => 大连阿尔滨 [2] => 19 [3] => 20 ) [12] => Array ( [0] => 13 [1] => 上海申鑫 [2] => 19 [3] => 19 ) [13] => Array ( [0] => 14 [1] => 河南建业 [2] => 19 [3] => 17 ) [14] => Array ( [0] => 15 [1] => 辽宁宏运 [2] => 19 [3] => 16 ) [15] => Array ( [0] => 16 [1] => 哈尔滨毅腾 [2] => 18 [3] => 12 ))
射手榜
Array( [0] => Array ( [0] => 01 [1] => 埃尔克森 [2] => 17 [3] => 广州恒大 ) [1] => Array ( [0] => 02 [1] => 哈默德 [2] => 16 [3] => 广州富力 ) [2] => Array ( [0] => 03 [1] => 海森 [2] => 13 [3] => 上海东亚 ) [3] => Array ( [0] => 04 [1] => 达维 [2] => 9 [3] => 广州富力 ) [4] => Array ( [0] => 04 [1] => 多利 [2] => 9 [3] => 哈尔滨毅腾 ) [5] => Array ( [0] => 04 [1] => 洛维 [2] => 9 [3] => 山东鲁能 ) [6] => Array ( [0] => 04 [1] => 拉蒙 [2] => 9 [3] => 杭州绿城 ) [7] => Array ( [0] => 08 [1] => 德扬 [2] => 8 [3] => 北京国安 ) [8] => Array ( [0] => 09 [1] => 巴塔拉 [2] => 7 [3] => 北京国安 ) [9] => Array ( [0] => 09 [1] => 布鲁诺 [2] => 7 [3] => 大连阿尔滨 ) [10] => Array ( [0] => 09 [1] => 里卡多 [2] => 7 [3] => 哈尔滨毅腾 ) [11] => Array ( [0] => 09 [1] => 武磊 [2] => 7 [3] => 上海东亚 ) [12] => Array ( [0] => 09 [1] => 埃尼奥 [2] => 7 [3] => 长春亚泰 ) [13] => Array ( [0] => 09 [1] => 尤里 [2] => 7 [3] => 贵州茅台 ) [14] => Array ( [0] => 15 [1] => 莫雷诺 [2] => 6 [3] => 上海绿地 ) [15] => Array ( [0] => 15 [1] => 雷内 [2] => 6 [3] => 广州恒大 ))

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。
