使用 Socket 抓取資料

2021-08-28 01:58:38 字數 1574 閱讀 6556

要在客戶端操作 socket ,可使用 fsockopen、socket_create、stream_socket_client 等函式實現。如果是php 5,建議使用 stream_socket。

fsockopen 實現長連線。client 方與 server 方先建立通訊連線,連線建立後不斷開,然後再進行報文傳送和接收。

使用 socket 獲取資料的實現,get 方法。

?>使用 socket 獲取資料的實現,post 方法。

?>web 應用程式是無法區分機器和人的,人和機器都是通過 socket 提交資料,只不過人是通過瀏覽器呼叫作業系統的 socket 提交,而機械人是通過自己寫**呼叫 socket 提交。

最後,注意以下幾點:

前面說過,建議使用 stream_socket 實現。若使用 stream_socket  實現只改一行**就行,如下:

$fp = stream_socket_client("tcp:", $errno, $errstr, 3);
在 php 中,99.9% 的 socket 應用屬於流套接字範疇,資料報套接字和原始套接字涉及比較底層的協議知識。

Linux使用tcpdump抓取網路資料報示例

tcpdump是linux命令列下常用的的乙個抓包工具,記錄一下平時常用的方式,測試機器系統是ubuntu 12.04。tcpdump的命令格式 tcpdump的引數眾多,通過man tcpdump可以檢視tcpdump的詳細說明,這邊只列一些筆者自己常用的引數 tcpdump i 網絡卡 nnax...

使用程序池抓取貓眼資料

引入cookjar來放在cookie過期 新增ua來簡單防止反爬 opener.addheaders user agent mozilla 5.0 windows nt 6.1 wow64 rv 61.0 gecko 20100101 firefox 61.0 def write to file d...

使用Web Harvest抓取分頁的資料

可以利用其自帶的例子裡面已經寫好了的那個函式,在functions.xml檔案裡面,只要 在配置檔案的開頭把include進來就行了 functions.xml檔案如下 其裡面的各個引數的意義 第乙個是指開始的那個頁面的url 第二個是指你要在頁面裡面取得的乙個list,比如說是href的list或...