當前位置:首頁 » 編程語言 » php抓取工具

php抓取工具

發布時間: 2023-09-11 14:01:38

A. 使用php的cURL庫進行網頁抓取

使用模明仿PHP的cURL庫可以簡單和有效地去抓網頁 你只需要運行一個腳本 然後分析一下你所抓取的網頁 然後就可以以程序的方式得到你想要的數據了 無論是你想從從一個鏈接上取部分數據 或是取一個XML文件並把其導入資料庫 那怕就是簡單的獲取網頁內容 cURL 是一個功能強大的PHP庫 本文主要講述如果使用這個PHP庫

啟用 cURL 設置

首先 我們得先要確定我們的PHP是否開啟了這個庫 你可以通過使用php_info()函數來得到這一信息

﹤?phpphpinfo();?﹥

如果你可以在網頁上看到下面的輸出 那麼表示cURL庫已被開啟

如果你看到的話 那麼你需要設置你的PHP並開啟這個庫 如果你是在Windows平台下 那麼非常簡單 你需要改一改你的php ini文件的設置 找到php_curl dll 並取消前面的分號注釋就行了 如下所示

//取消下在的注釋extension=php_curl dll

如果你旦纖是在Linux下面 那麼 你需要重新編譯你的PHP了 編輯時 你需要打開編譯參數——在configure命令上加上 –with curl 參數

一個小示例

如果一切就緒 下面是一個小常式

﹤?php// 初始化一個 cURL 對象$curl = curl_init();

// 設置你需要抓取的URLcurl_setopt($curl CURLOPT_URL //cocre );

// 設置headercurl_setopt($curl CURLOPT_HEADER );

// 設置cURL 參數 要求結果保存到字元串中還是輸出到屏幕上槐鏈 curl_setopt($curl CURLOPT_RETURNTRANSFER );

// 運行cURL 請求網頁$data = curl_exec($curl);

// 關閉URL請求curl_close($curl);

// 顯示獲得的數據var_mp($data);

如何POST數據

上面是抓取網頁的代碼 下面則是向某個網頁POST數據 假設我們有一個處理表單的網址// example /sendSMS php 其可以接受兩個表單域 一個是電話號碼 一個是簡訊內容

﹤?php$phoneNumber = ;$message = This message was generated by curl and php ;$curlPost = pNUMBER= urlencode($phoneNumber) &MESSAGE= urlencode($message) &SUBMIT=Send ;$ch = curl_init();curl_setopt($ch CURLOPT_URL // example /sendSMS php );curl_setopt($ch CURLOPT_HEADER );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_POST );curl_setopt($ch CURLOPT_POSTFIELDS $curlPost);$data = curl_exec();curl_close($ch);?﹥

從上面的程序我們可以看到 使用CURLOPT_POST設置HTTP協議的POST方法 而不是GET方法 然後以CURLOPT_POSTFIELDS設置POST的數據

關於代理伺服器

下面是一個如何使用代理伺服器的示例 請注意其中高亮的代碼 代碼很簡單 我就不用多說了

﹤?php $ch = curl_init();curl_setopt($ch CURLOPT_URL // example );curl_setopt($ch CURLOPT_HEADER );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_HTTPPROXYTUNNEL );curl_setopt($ch CURLOPT_PROXY fakeproxy : );curl_setopt($ch CURLOPT_PROXYUSERPWD user:password );$data = curl_exec();curl_close($ch);?﹥ 關於SSL和Cookie

關於SSL也就是HTTPS協議 你只需要把CURLOPT_URL連接中的//變成//就可以了 當然 還有一個參數叫CURLOPT_SSL_VERIFYHOST可以設置為驗證站點

關於Cookie 你需要了解下面三個參數

CURLOPT_COOKIE 在當面的會話中設置一個cookie

CURLOPT_COOKIEJAR 當會話結束的時候保存一個Cookie

CURLOPT_COOKIEFILE Cookie的文件

HTTP伺服器認證

最後 我們來看一看HTTP伺服器認證的情況

﹤?php $ch = curl_init();curl_setopt($ch CURLOPT_URL // example );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_HTTPAUTH CURLAUTH_BASIC);curl_setopt(CURLOPT_USERPWD [username]:[password] )

$data = curl_exec();curl_close($ch);?﹥

關於其它更多的內容 請參看相關的cURL手冊 lishixin/Article/program/PHP/201311/21491

B. php怎麼防止抓包工具

我是做數據採集的,
在我看來,除了輸入驗證碼 , 沒有什麼能對我起到很好的防採集,

一般大的網站都是採用 網頁加入一次性隨機值 ,再有前端JS 生成秘鑰 ,最後一並提交加密了的數據 ,這種沒什麼效果 。對一般的人可以做下防禦 。但是,我只要找出它的JS加密函數 。 使用一個JS伺服器(node.js),或php的 php 改寫的js加密實現過程 ,加密初始值,再模擬發送 。所以,這個也沒什麼多大作用 。

對於驗證碼 ,一般簡單的都可以程序識別 ,復雜的提交到前台讓手動輸入 。再一並發送。 這種用戶體驗不好。 慎行。

總的來說,建議用JS 加密吧 。
但是,還是防禦不了。

我一般用 filefox 的 filebug 或 小提琴工具 。
目前大半年了,沒有破解不了的網站 。

我用我的php程序 ,可以操作你的網站 。實現 用戶操作 我的php程序 ,我的php程序 再去操作源網站 。

你可以去研究下 58同城網 的登錄 。那裡面一堆的加密 。 在我看來都是垃圾代碼 。 我的程序一鍵登錄進去。

C. php 使用crul get 如何抓取淘寶商品頁面

首先我對你的php代碼沒看懂,不熟悉這門語言。我當時確實取到了數據,就是用JAVA第三方類庫直接解析url對應的html內容,不過訪問頻率是個問題,不能太快,否則會封ip,可以考慮用sleep休眠機制類似的。不過總的來說還是不太穩定,效果不好

D. php開發用什麼軟體(php開發工具有哪些)

PHP集成開發環境,有ZendStudio、EclipseforPHP、PhpStorm等。

1、ZendStudio

ZendStudio是Zend公司開發的PHP語言集成開發環境(IDE)。除了有強大的PHP開發支持外也支持HTML、js、CSS,但只對PHP語言提供調試支持。

2、EclipsePHPStudio

EclipsePHP是一個大型PHP項目開發編譯器,基於Eclipse底層開發而來,並且集成了JDK,免除了安裝配置的麻煩,一次安裝即可使用,無需配置。

此編譯器為PHP編譯器,輔助PHP代碼的開發和調試,集成了代碼高亮,函數跟蹤,實時糾錯等功能。同時還增加了協作開發版本伺服器功能:SVN、CVS。內嵌瀏覽器可以在調試簡單代碼實時瀏覽。

3、PhpStorm

PhpStorm是JetBrains公司開發的一款商業的PHP集成開發工具,旨在提高用戶效率,可深刻理解用戶的編碼,提供智能代碼補全,快速導航以及即時錯誤檢查。

(4)php抓取工具擴展閱讀

php的特點

一、開源性和免費性鬧和知

由於PHP的解釋器的源代碼是公開的,所以安全系數較高的網站液消可以自己更改PHP的解釋程序。另外,PHP運行環境的使用也是免費的。

二、快捷性

PHP是一種非常容易學習和使用的一門語言,它的語法特點類似於C語言,但又沒有C語言復雜的地址操作,而且又加入了面向對象的概念,再加上它具有簡潔的語法規則,使得它操作編輯非常簡單,實用性很強。

三、資料庫連接的廣泛性

PHP可以與很多主流的資料庫建立起連接,如Mysql、ODBC、Oracle等,PHP是利用編譯的不同函數與這些資料庫建立起連接棚清的,PHPLIB就是常用的為一般事務提供的基庫。

四、面向過程和面向對象並用

在PHP語言的使用中,可以分別使用面向過程和面向對象,而且可以將PHP面向過程和面向對象兩者一起混用,這是其它很多編程語言是做不到的。

E. 怎樣利用php獲取資料庫中指定的記錄

1.增刪改只在SQL語句上不同。都使用的是PHP的query函數。如果是MSSQL資料庫那麼query函數就是mssql_query($sql);如果是MYSQL那就是mysql_query($sql);2.操作原理就是(1)首先建立與資料庫伺服器的連接(2)選擇要操作的資料庫(3)利用資料庫的會話句柄來對所選擇的資料庫進行SQL語句查詢給你舉例。查詢XXX表的所有數據-----建立資料庫連接部分---<?php$hostname="資料庫所在的計算機名或者IP地址";$dbuser="sa";//資料庫的用戶名$dbpass=""; //資料庫密碼$dbname="test";//要訪問的資料庫名 $link=@mssql_connect($hostname,$dbuser,$dbpass) or die ("連接資料庫出錯"); //$link就是以後查詢用到的會話句柄。@mssql_select_db($dbname);//進行增刪改的查詢$sql="select * from XXX";@mssql_query($sql,$link);?>到此,SQL語句就執行完了。

F. PHP開發通常使用什麼工具

AdobeDreamweaver、EditPlus、ZendStudio都是很好的工具。輕量級用EditPlus,偏重前端設計用Dreamweaver,偏重程序開發用ZendStudio吧!

集成開發環境是一種集成了軟體開發過程中所需主要工具的集成開發環境,其功能包括但不僅限於代碼高亮、代碼補全、調試、構建、版本控制等。一些常見的PHPIDEs如下:

ZendStudio:商業版,Zend官方出品,基於eclipse

EclipsewithPDT:免費

Coda:商業版,針對Mac用戶

NetBeans:免費,功能強大

PHPStorm:商業版

AptanaStudio:免費

PhpEd:商業版

KomodoIDE/Edit:IDE為商業版,Edit可免費使用

AdobeDreamweaver:商業版

除去集成開發環境,具備代碼高亮功能的常見文本編輯器因其輕巧靈活也常被選作開發工具,例如:Notepad++、Editplus、SublimeText、Everedit(國人開發)等等。(來自網路)

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:233
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:532
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726