• 欧美熟妇大胆BBWW
    福建網站建設

    【福州網站建設】網絡爬蟲怎么制作

    2018-11-17 09:58



     

    0前言

    近年來, 大數據技術廣泛受到各行各業的關注, 其所帶來的影響, 正應用到金融、醫療、政務及制造業等各個領域, 改變著我們的生活。如何在互聯網信息平臺上快速把不規則、散亂分布的網頁信息準確挖掘出來, 爬蟲技術是一種很好的數據采集的手段, 也是搭建大數據架構體系的第一步。筆者結合自身的項目開發經驗, 介紹如何基于C#.Net網絡爬蟲技術實現海量網頁數據的抓取。

    1 網絡爬蟲技術

    網絡爬蟲又稱網頁蜘蛛, 它是通過互聯網定向抓取相關的網頁資源, 獲取所需信息的程序或腳本。Python, Java和.Net等常見的語言都可以用于編寫網絡爬蟲, 這些編程語言各有優勢, 大家可以根據習慣選擇。編寫網絡爬蟲的主要流程是這樣的:首先通過Http客戶端模擬登錄并保存Cookies, 然后抓取Html頁面并對Html頁面解析獲取需要的數據, 最后將解析后的數據寫入數據庫。

    2 技術實現

    筆者采用Http Web Request類和Http Web Response類來實現網絡爬蟲的編程。Http Web Request類主要利用Http協議和服務器交互, 通過GET和POST兩種方式來對數據進行獲取和提交;Http Web Response類則用于生成發送Http請求和接收Http響應。

    2.1 模擬登陸

    某些網站需登錄后才能查看網頁信息, 同理在利用網絡爬蟲抓取數據前也需要模擬登陸網站, 獲取并保存能夠辨別用戶身份的Cookies信息。因此, 我們首先需使用抓包工具對登陸過程進行數據分析, 筆者選擇360瀏覽器自帶的開發者工具, 以國內某鋼材網站為例, 在抓包工具中對登陸過程進行跟蹤。圖1為網站登錄信息跟蹤頁面圖。通過抓包工具可以分析出登錄網站時其內部的執行過程、內部邏輯, 捕獲到Request的URL地址、通訊方式及通訊參數 (登錄方法、用戶名、密碼等) 等關鍵信息, 通過分析這些信息, 就可以通過爬蟲實現網站模擬登陸, 并保存爬蟲登陸狀態的Cookies。


     

    圖2為網站模擬登陸流程。首先在編程端創建HttpWebRequest對象, 然后經過通訊方式設定、偽裝瀏覽器和參數錄入等操作, 最后向服務器提交模擬網站登錄方法, 并通過HttpWebResponse實例的返回值判斷模擬登錄是否成功。

    2.2 抓取信息

    網站模擬登陸成功后, 可進行下一步網頁數據抓取工作。網頁信息抓取的常見方法有兩種, 一種是先下載整個Html文件, 然后通過過濾、篩選等方式分析出信息數據;另一種是對Web行為進行Http分析, 把瀏覽器行為拆分為JS邏輯和Http行為, 該方法可實現對動態網頁數據的抓取。筆者比較傾向于采用后者。以國內某鋼材網站為例, 其螺紋鋼價格曲線圖如圖3所示, 用戶成功登陸該網站后, 可查看某一段時間內多個城市的螺紋鋼價格曲線圖。如果通過人工方式去手動收集這些網站的數據, 很明顯其效率低且準確性也不高, 但是通過爬蟲技術軟件就可以高效地實現這些數據的抓取。

     

     

    1) 瀏覽器行為捕捉和分析。瀏覽器或者一般進程有任何通訊發生, 都可以通過抓包工具捕捉到具體的Http請求和響應。圖4為對某網站的螺紋鋼價格數據查詢行文圖。對螺紋鋼價格查詢行文進行跟蹤后, 可以分析出網頁行為、數據請求、響應場景和提交參數等信息。

    2) 瀏覽器行為模擬。在捕捉和分析出瀏覽器行為后, 我們便可以通過.Net實現對瀏覽器行為的模擬, 獲取想要的數據信息。

    首先, 定義一個參數字典, 把該方法需要提交的參數進行設定, 并用ASCII編碼將參數字典中的數據轉換成字節數組。代碼如下:

    然后, 創建Http WebRequest對象, 并設置好數據的請求方式、瀏覽器偽裝、及加載Cookies。代碼如下:

     

     

    3) 數據清洗。獲取數據信息后, 還需根據信息的特征對服務端返回的結果進行分析, 再加上語義判斷規則選擇合適的數據清洗方法。常用的方法有正則表達式過濾和JSON字符串解析等, 本文例子中返回的結果是JSON字符串, 所以選擇JSON字符串解析的方法進行數據清洗, 結果如圖5所示。

     

    3 結語

    以上是筆者基于C#.Net進行爬蟲技術開發的一些經驗。網絡爬蟲并不是用來攻擊網站和竊取后臺數據的技術, 而是一種用來獲取互聯網公開信息, 也就是獲取網頁前端顯示的數據信息的工具。

    隨著大數據技術的發展, 網絡爬蟲技術為數據采集和信息抓取提供了全新的技術路徑。該技術作為獲得數據的主要途徑, 為互聯網海量數據的采集提供了支撐。它的應用不僅僅局限于網頁數據的采集上, 還可用于單點登陸、網絡輿情監控和搜索引擎網頁收錄等方面。


    服務支持

    我們珍惜您每一次在線詢盤,有問必答,用專業的態度,貼心的服務。

    讓您真正感受到我們的與眾不同!

    合作流程

    合作流程

    網站制作流程從提出需求到網站制作報價,再到網頁制作,每一步都是規范和專業的。

    常見問題

    常見問題

    提供什么是網站定制?你們的報價如何?等網站建設常見問題。

    常見問題

    售后保障

    網站制作不難,難的是一如既往的熱情服務及技術支持。我們知道:做網站就是做服務,就是做售后。

    ".$dayBegin.""; //echo $query; $urls=""; $dsql->Execute('arch.id,types.typedir',$query); while($row = $dsql->GetArray('arch.id,types.typedir')) { $urls.="http://www.xuxajurassica.com/".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".","; } $urls=substr($urls,0,-1); $urls = explode(",",$urls); $api = 'http://data.zz.baidu.com/urls?appid=1600599373173546&token=eg19M1t5SyzkDvtJ&type=realtime'; // 前邊的熊掌號ID和密鑰換成自己的 $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); echo $result; ?> 在线视频:欧美熟妇大胆BBWW 欧美性VIDEOS高清另类 欧美性XXXX极品高清HD视频在线播放网站,欧美熟妇大胆BBWW在线观看影片,操作界面简单友好,给用户带来愉悦的观映体验! <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>