亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP 實現批量抓取遠程頁面內容

2020-03-22 19:47:26
字體:
來源:轉載
供稿:網友
  • 為什么使用“小偷程序”?


    遠程抓取文章資訊或商品信息是很多企業要求程序員實現的功能,也就是俗說的小偷程序。其最主要的優點是:解決了公司網編繁重的工作,大大提高了效率。只需要一運行就能快速的抓取別人網站的信息。


    “小偷程序”在哪里運行?

    “小偷程序” 應該在 Windows 下的 DOS(參考文章:http://www.it165.net/pro/html/201201/1460.html) 或 Linux 下通過 PHP 命令運行為最佳,因為,網頁運行會超時。

    比如圖(Windows 下 DOS 為例):



    “小偷程序”的實現

    這里主要通過一個實例來講解,我們來抓取下“華強電子網”的資訊信息,請先看觀察這個鏈接 http://www.it165.net/info-c10.html,當您打開這個頁面的時候發現這個頁面會發現一些現象:

    1、資訊列表有 500 頁(2012-01-03);

    2、每頁的 url 鏈接都有規律,比如:第1頁為http://www.it165.net/info-c10-1.html;第2頁為http://www.it165.net/info-c10-2.html;……第500頁為http://www.it165.net/info-c10-500.html;

    3、由第二點就可以知道,“華強電子網” 的資訊是偽靜態或者是生成的靜態頁面

    其實,基本上大部分的網站都有這樣的規律,比如:中關村在線、慧聰網、新浪、淘寶……。

    這樣,我們可以通過這樣的思路來實現頁面內容的抓?。?/p>

    1、先獲取文章列表頁內容;

    2、根據文章列表頁內容循環獲取文章的 url 地址;

    3、根據文章的 url 地址獲取文章的詳細內容

    這里,我們主要抓取資訊頁里面的:標題(title)、發布如期(date)、作者(author)、來源(source)、內容(content)

    “華強電子網”資訊抓取

    首先,先建數據表結構,如下所示:

    CREATE TABLE `article`.`article` (`id` MEDIUMINT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,`title` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`date` VARCHAR( 50 ) NOT NULL ,`author` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`source` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`content` TEXT NOT NULL) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
    抓取程序:

    <?php/*** 抓取“華強電子網”資訊程序* author Lee.* Last modify $Date: 2012-1-3 15:39:35 $*/header('Content-Type:text/html;Charset=utf-8');$mysqli = new mysqli('localhost', 'root', '1715544', 'article'); # 數據庫連接,請手動修改您自己的數據庫信息$mysqli->set_charset('UTF8'); # 設置數據庫編碼function data($url) {	global $mysqli;	$result = file_get_contents($url); # $result 獲取 url 鏈接內容(注意:這里是文章列表鏈接)	$pattern = '/<li><span class="box_r">.+<//span><a href="([^"]+)"  title=".+" >.+<//a><//li>/Usi'; # 取得文章 url 的匹配正則	preg_match_all($pattern, $result, $arr); # 把文章列表 url 分配給數組$arr(二維數組)	foreach ($arr[1] as $val) {		$val = 'http://www.hqew.com' . $val; # 真實文章 url 地址		$re = file_get_contents($val); # $re 為文章 url 的內容		$pa = '/<div id="article">/s+<h1>(.+)<//h1>/s+<p id="article/_extinfo">/s+發布:/s+(.+)/s+/|/s+作者:/s+(.+)/s+/|/s+來源:/s+(.*?)/s+<span style="display:none" >.+<div id="article_body">/s*(.+)/s+<//div>/s+<//div><!--article end-->/Usi'; # 取得文章內容的正則		preg_match_all($pa, $re, $array); # 把取到的內容分配到數組 $array		$content = trim($array[5][0]); 		$con = array(				'title'=>mysqlString($array[1][0]),		 		'date'=>mysqlString($array[2][0]), 		 		'author'=>mysqlString(stripAuthorTag($array[3][0])),				'source'=>mysqlString($array[4][0]), 				'content'=>mysqlString(stripContentTag($content))			);		$sql = "INSERT INTO article(title,date,author,source,content) VALUES ('{$con['title']}','{$con['date']}','{$con['author']}','{$con['source']}','{$con['content']}')";		$row = $mysqli->query($sql); # 添加到數據庫		if ($row) {			echo 'add success!';		} else {			echo 'add failed!';		}	}}/** * stripOfficeTag($v) 對文章內容進行過濾,比如:去掉文章中的鏈接,過濾掉沒有的 HTML 標簽…… * @param string $v * @return string */function stripContentTag($v){	$v = str_replace('<p>&nbsp;</p>', '', $v);    $v = str_replace('<p />', '', $v);    $v = preg_replace('/<a href=".+" target="/_blank"><strong>(.+)<//strong><//a>/Usi', '/1', $v);    $v = preg_replace('%(<span/s*[^>]*>(.*)</span>)%Usi', '/2', $v);    $v = preg_replace('%(/s+class="Mso[^"]+")%si', '', $v);    $v = preg_replace('%( style="[^"]*mso[^>]*)%si', '', $v);    $v = preg_replace('/<b><//b>/', '', $v);    return $v;}/** * stripTitleTag($title) 對文章標題進行過濾 * @param string $v * @return string */function stripAuthorTag($v) {	$v = preg_replace('/<a href=".+" target="/_blank">(.+)<//a>/Usi', '/1', $v);	return $v;}/** * mysqlString($str) 過濾數據 * @param string $str * @return string */function mysqlString($str) {	return addslashes(trim($str));}/** * init($min, $max) 入口程序方法,從 $min 頁開始取,到 $max 頁結束 * @param int $min 從 1 開始 * @param int $max * @return string 返回 URL 地址 */function init($min=1, $max) {	for ($i=$min; $i<=$max; $i++) {		data("http://www.hqew.com/info-c10-{$i}.html");	}}init(1, 500); #程序入口?>

    通過上面的程序,就可以實現抓取華強電子網的資訊信息。

    入口方法 init($min, $max) 如果想抓取 1-500 頁面內容,那么 init(1, 500) 即可!這樣,用不了多長時間,華強電子網的資訊就會全部抓取到數據庫里面了。^_^

    執行界面:

    PHP編程        

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    国产精品电影观看| 亚洲免费电影在线观看| 青草青草久热精品视频在线网站| 在线看福利67194| 色播久久人人爽人人爽人人片视av| 日韩电影免费观看中文字幕| 国产va免费精品高清在线| 久久6免费高清热精品| 久久久久久国产精品久久| 国产精品久久久久免费a∨| 97视频在线观看亚洲| 欧美日产国产成人免费图片| 91亚洲永久免费精品| 久久久久久av| 亚洲男女性事视频| 乱亲女秽乱长久久久| 日韩在线高清视频| 欧美大码xxxx| 国产精品高清在线观看| 国内精品久久久久久| 午夜剧场成人观在线视频免费观看| 国产精品视频久久久| 亚洲激情第一页| 欧美乱大交做爰xxxⅹ性3| 成人在线视频网| 色yeye香蕉凹凸一区二区av| 国产亚洲日本欧美韩国| 欧美激情va永久在线播放| 日韩av在线免费播放| 亚洲激情小视频| 最近2019中文字幕第三页视频| 亚洲一区二区久久久| 欧美亚洲一级片| 91精品国产九九九久久久亚洲| 一本大道香蕉久在线播放29| 亚洲毛片在线看| 精品亚洲夜色av98在线观看| 91在线国产电影| 久久99青青精品免费观看| 粗暴蹂躏中文一区二区三区| 亚洲黄色在线看| 亚洲乱码一区av黑人高潮| 欧美高清无遮挡| 亚洲色图25p| 国产精品视频网站| 国产一区二区日韩| 欧美一级电影在线| 伊人久久免费视频| 尤物九九久久国产精品的分类| 中文字幕日韩精品在线观看| 色综合五月天导航| 性欧美在线看片a免费观看| 亚洲欧美一区二区三区情侣bbw| 日本精品性网站在线观看| 欧美有码在线观看| 日韩欧美主播在线| 国产69精品久久久久9999| 成人福利免费观看| 亚洲国产成人爱av在线播放| 欧美成人免费大片| 日韩电影中文字幕一区| 九九热视频这里只有精品| 欧美日韩成人在线视频| 欧美国产乱视频| 国色天香2019中文字幕在线观看| 国产日韩在线亚洲字幕中文| 在线免费观看羞羞视频一区二区| 日本成人在线视频网址| 亚洲qvod图片区电影| 国产精品午夜视频| 69影院欧美专区视频| 亚洲成色www8888| 77777亚洲午夜久久多人| 久久综合伊人77777尤物| 国产精品第1页| 欧美日韩国产va另类| 亚洲欧洲日韩国产| 亚洲男人av电影| 久久在线免费视频| 国产亚洲视频在线观看| 久久精品一本久久99精品| 亚洲欧美日韩爽爽影院| 久久视频国产精品免费视频在线| 欧美精品18videos性欧美| 98视频在线噜噜噜国产| 中文字幕欧美精品日韩中文字幕| 久久天堂电影网| 欧美性生交大片免费| 亚洲人成77777在线观看网| 日韩综合视频在线观看| 成人激情在线观看| 日韩av在线一区| 亚洲国产精彩中文乱码av| 国产九九精品视频| 一个人看的www久久| 欧美成人精品激情在线观看| 亚洲欧美视频在线| 国产精品老女人精品视频| 欧美一区在线直播| 日韩一区二区三区在线播放| 欧美大学生性色视频| 欧美最近摘花xxxx摘花| 午夜精品在线观看| 日韩免费高清在线观看| 欧美做受高潮1| 91精品国产网站| 成人美女av在线直播| 国外成人免费在线播放| 亚洲美女自拍视频| 亚洲男女性事视频| 国产一区二区三区在线观看视频| 久久天堂电影网| 精品久久久久久久久久久久久久| 亚洲精品综合久久中文字幕| 97精品久久久| 成人春色激情网| 欧美性猛交丰臀xxxxx网站| 日韩欧美一区二区三区| 国产一区二区三区18| 久久久久久久久国产| 日韩日本欧美亚洲| 国产一区二区三区在线| 欧美激情在线狂野欧美精品| 日韩av中文字幕在线| 欧美午夜精品在线| 国产精品久久久999| 日韩欧美在线视频免费观看| 在线免费观看羞羞视频一区二区| 91极品女神在线| 97色在线观看免费视频| 国产日韩欧美在线播放| 亚洲高清久久网| 国产精品一区二区三区免费视频| 色婷婷**av毛片一区| 亚洲国产成人精品女人久久久| 国产精品大片wwwwww| 色中色综合影院手机版在线观看| 日产精品99久久久久久| 亚洲xxxxx| 日韩精品视频免费在线观看| 欧美日韩国产精品一区| 欧美大秀在线观看| 97人人爽人人喊人人模波多| 国产精品第七影院| 91国内揄拍国内精品对白| 91精品久久久久久综合乱菊| 亚洲男人的天堂网站| 97久久伊人激情网| 伊人久久大香线蕉av一区二区| 久久91超碰青草是什么| 精品视频一区在线视频| 亚洲深夜福利视频| 欧美一区三区三区高中清蜜桃| 国产欧美精品一区二区| 日韩成人av在线播放| 色综合久久悠悠| 国产97在线亚洲| 国产精品久久久久免费a∨| 国产欧美亚洲精品| 亚洲国产精品久久久久秋霞不卡| 1769国产精品| 91久久国产精品91久久性色| 欧美另类69精品久久久久9999| 久久精品国产免费观看|