php如何去採集米爾網(php數據採集方法)

本文目錄一覽:

如何用php curl採集開啟了viewstate的.net的網站

viewstate和datavalidtion,然後post給伺服器,我這邊有個目標站點也是.net的需要採集,因為沒有分頁的關係viewstate和datavalidtion就設置一個默認值就行,我現在數據是模擬post過去了,返回我不知道怎麼操作了,

不能用默認的form/url-encode方法傳,要用傳文件的那個表單模式

PHP 如何獲取到一個網頁的內容

1.file_get_contents

PHP代碼

複製代碼 代碼如下:

?php

$url = “”;

$contents = file_get_contents($url);

//如果出現中文亂碼使用下面代碼

//$getcontent = iconv(“gb2312”, “utf-8”,$contents);

echo $contents;

?

2.curl

PHP代碼

複製代碼 代碼如下:

?php

$url = “”;

$ch = curl_init();

$timeout = 5;

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

//在需要用戶檢測的網頁里需要增加下面兩行

//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.”:”.US_PWD);

$contents = curl_exec($ch);

curl_close($ch);

echo $contents;

?

3.fopen-fread-fclose

PHP代碼

複製代碼 代碼如下:

?php

$handle = fopen (“”, “rb”);

$contents = “”;

do {

$data = fread($handle, 1024);

if (strlen($data) == 0) {

break;

}

$contents .= $data;

} while(true);

fclose ($handle);

echo $contents;

?

註:

1.

使用file_get_contents和fopen必須空間開啟allow_url_fopen。方法:編輯php.ini,設置

allow_url_fopen = On,allow_url_fopen關閉時fopen和file_get_contents都不能打開遠程文件。

2.使用curl必須空間開啟curl。方法:windows下修改php.ini,將extension=php_curl.dll前面的分

號去掉,而且需要拷貝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安裝curl擴

展。

php獲取網頁源碼內容有哪些辦法

可以參考以下幾種方法:

方法一: file_get_contents獲取

span style=”white-space:pre” /span$url=””;

span style=”white-space:pre” /span$fh= file_get_contents

(”);span style=”white-space:pre” /spanecho $fh;

方法二:使用fopen獲取網頁源代碼

span style=”white-space:pre” /span$url=””;

span style=”white-space:pre” /span$handle = fopen ($url, “rb”);

span style=”white-space:pre” /span$contents = “”;

span style=”white-space:pre” /spanwhile (!feof($handle)) {

span style=”white-space:pre”  /span$contents .= fread($handle, 8192);

span style=”white-space:pre” /span}

span style=”white-space:pre” /spanfclose($handle);

span style=”white-space:pre” /spanecho $contents; //輸出獲取到得內容。

方法三:使用CURL獲取網頁源代碼

$url=””;

$UserAgent = ‘Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)’;

$curl = curl_init(); //創建一個新的CURL資源

curl_setopt($curl, CURLOPT_URL, $url); //設置URL和相應的選項

curl_setopt($curl, CURLOPT_HEADER, 0);  //0表示不輸出Header,1表示輸出

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //設定是否顯示頭信息,1顯示,0不顯示。//如果成功只將結果返回,不自動輸出任何內容。如果失敗返回FALSE

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($curl, CURLOPT_ENCODING, ”); //設置編碼格式,為空表示支持所有格式的編碼

//header中「Accept-Encoding: 」部分的內容,支持的編碼格式為:”identity”,”deflate”,”gzip”。

curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

//設置這個選項為一個非零值(象 「Location: 「)的頭,伺服器會把它當做HTTP頭的一部分發送(注意這是遞歸的,PHP將發送形如 「Location: 「的頭)。

$data = curl_exec($curl);

echo $data;

//echo curl_errno($curl); //返回0時表示程序執行成功

curl_close($curl); //關閉cURL資源,並釋放系統資源

拓展資料

PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。

用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

參考資料:PHP(超文本預處理器)-百度百科

php如何防止網站內容被採集

1、限制IP地址單位時間的訪問次數

分析:沒有哪個常人一秒鐘內能訪問相同網站5次,除非是程序訪問,而有這種喜好的,就剩下搜索引擎爬蟲和討厭的採集器了。

弊端:一刀切,這同樣會阻止搜索引擎對網站的收錄

適用網站:不太依靠搜索引擎的網站

採集器會怎麼做:減少單位時間的訪問次數,減低採集效率

2、屏蔽ip

分析:通過後台計數器,記錄來訪者ip和訪問頻率,人為分析來訪記錄,屏蔽可疑Ip。

弊端:似乎沒什麼弊端,就是站長忙了點

適用網站:所有網站,且站長能夠知道哪些是google或者百度的機器人

採集器會怎麼做:打游擊戰唄!利用ip代理採集一次換一次,不過會降低採集器的效率和網速(用代理嘛)。

3、利用js加密網頁內容

Note:這個方法我沒接觸過,只是從別處看來

分析:不用分析了,搜索引擎爬蟲和採集器通殺

適用網站:極度討厭搜索引擎和採集器的網站

採集器會這麼做:你那麼牛,都豁出去了,他就不來采你了

4、網頁里隱藏網站版權或者一些隨機垃圾文字,這些文字風格寫在css文件中

分析:雖然不能防止採集,但是會讓採集後的內容充滿了你網站的版權說明或者一些垃圾文字,因為一般採集器不會同時採集你的css文件,那些文字沒了風格,就顯示出來了。

適用網站:所有網站

採集器會怎麼做:對於版權文字,好辦,替換掉。對於隨機的垃圾文字,沒辦法,勤快點了。

5、用戶登錄才能訪問網站內容

分析:搜索引擎爬蟲不會對每個這樣類型的網站設計登錄程序。聽說採集器可以針對某個網站設計模擬用戶登錄提交表單行為。

適用網站:極度討厭搜索引擎,且想阻止大部分採集器的網站

採集器會怎麼做:製作擬用戶登錄提交表單行為的模塊

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/248318.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:26
下一篇 2024-12-12 13:26

相關推薦

  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有著廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進位的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進位。 一、AES加密介紹 AE…

    編程 2025-04-29
  • Python學習筆記:去除字元串最後一個字元的方法

    本文將從多個方面詳細闡述如何通過Python去除字元串最後一個字元,包括使用切片、pop()、刪除、替換等方法來實現。 一、字元串切片 在Python中,可以通過字元串切片的方式來…

    編程 2025-04-29
  • 用法介紹Python集合update方法

    Python集合(set)update()方法是Python的一種集合操作方法,用於將多個集合合併為一個集合。本篇文章將從以下幾個方面進行詳細闡述: 一、參數的含義和用法 Pyth…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟體。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29

發表回復

登錄後才能評論