亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

自動(dòng)采集編寫(xiě)

自動(dòng)采集編寫(xiě)

自動(dòng)采集編寫(xiě)(3個(gè)非常不錯的爬蟲(chóng)數據采集工具,輕松輕松采集)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 208 次瀏覽 ? 2022-01-26 07:18 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(3個(gè)非常不錯的爬蟲(chóng)數據采集工具,輕松輕松采集)
  當然有。下面我簡(jiǎn)單介紹3個(gè)非常好的爬蟲(chóng)數據采集工具,分別是優(yōu)采云dede自動(dòng)采集教程,優(yōu)采云和優(yōu)采云,適用于大部分網(wǎng)絡(luò )(網(wǎng)頁(yè)) 數據,這三個(gè)軟件都可以輕松采集,而且不需要寫(xiě)一行代碼,感興趣的朋友可以試試:
  
  優(yōu)采云采集器這是一個(gè)免費的dede自動(dòng)采集教程,跨平臺爬蟲(chóng)數據采集工具,完全免費供個(gè)人使用,基于人工智能技術(shù),可以自動(dòng)識別網(wǎng)頁(yè)元素和內容(包括表格、列表等),支持自動(dòng)翻頁(yè)和文件導出功能,使用非常方便。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  
  1.首先dede自動(dòng)采集教程,安裝優(yōu)采云采集器,直接從官網(wǎng)下載,如下,每個(gè)平臺都有版本,選擇適合您平臺的一款可以:
  
  
  2.安裝完成后,dede自動(dòng)采集教程,打開(kāi)本軟件,主界面如下,直接輸入需要采集的網(wǎng)頁(yè)地址,軟件會(huì )自動(dòng)識別網(wǎng)頁(yè)中的數據,并嘗試翻頁(yè)功能:
  
  
  以智聯(lián)招聘數據為例,dede自動(dòng)采集教程會(huì )自動(dòng)識別網(wǎng)頁(yè)中可以為采集的信息,非常方便。您還可以自定義 采集 規則以刪除不必要的字段:
  
  優(yōu)采云采集器這也是一個(gè)很好的爬蟲(chóng)數據采集工具,目前主要用于Windows平臺,內置大量數據采集模板,你可以輕松采集天貓、京東等熱門(mén)網(wǎng)站,我簡(jiǎn)單介紹一下這款軟件的安裝和使用:
  1.首先,安裝優(yōu)采云采集器,也可以直接從官網(wǎng)下載,如下,一個(gè)exe安裝包,直接安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接選擇采集方法,新建采集任務(wù)(支持批量網(wǎng)頁(yè)< @采集)、自定義采集字段等,都很簡(jiǎn)單,鼠標點(diǎn)一下,官方還自帶入門(mén)教程,非常適合初學(xué)者學(xué)習:
  優(yōu)采云采集器這也是Windows平臺下一個(gè)非常不錯的爬蟲(chóng)數據采集工具。其基本功能與前兩款軟件類(lèi)似,集數據采集、處理、分析、挖掘于一體。在整個(gè)過(guò)程中,您可以輕松采集任何網(wǎng)頁(yè),通過(guò)分析準確挖掘信息。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  1.首先安裝優(yōu)采云采集器,可以直接從官網(wǎng)下載,如下,也是exe安裝包,雙擊安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接新建采集任務(wù),設置采集規則,自定義采集@ > 字段。傻瓜式 的操作可以逐步進(jìn)行。官方也有自己的入門(mén)教程,非常詳細,非常適合初學(xué)者學(xué)習和掌握:
  至此,我們已經(jīng)完成了三個(gè)爬蟲(chóng)數據采集工具優(yōu)采云、優(yōu)采云和優(yōu)采云的安裝和使用??偟膩?lái)說(shuō),這三個(gè)軟件都很好。只要熟悉使用流程,就能很快掌握。當然,如果你熟悉Python等編程語(yǔ)言,也可以編程實(shí)現網(wǎng)絡(luò )數據爬取。網(wǎng)上也有相關(guān)教程。還有資料,介紹的很詳細。如果你有興趣,你可以搜索一下。希望以上分享的內容對您有所幫助。也歡迎大家評論和留言補充。 查看全部

  自動(dòng)采集編寫(xiě)(3個(gè)非常不錯的爬蟲(chóng)數據采集工具,輕松輕松采集)
  當然有。下面我簡(jiǎn)單介紹3個(gè)非常好的爬蟲(chóng)數據采集工具,分別是優(yōu)采云dede自動(dòng)采集教程,優(yōu)采云和優(yōu)采云,適用于大部分網(wǎng)絡(luò )(網(wǎng)頁(yè)) 數據,這三個(gè)軟件都可以輕松采集,而且不需要寫(xiě)一行代碼,感興趣的朋友可以試試:
  
  優(yōu)采云采集器這是一個(gè)免費的dede自動(dòng)采集教程,跨平臺爬蟲(chóng)數據采集工具,完全免費供個(gè)人使用,基于人工智能技術(shù),可以自動(dòng)識別網(wǎng)頁(yè)元素和內容(包括表格、列表等),支持自動(dòng)翻頁(yè)和文件導出功能,使用非常方便。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  
  1.首先dede自動(dòng)采集教程,安裝優(yōu)采云采集器,直接從官網(wǎng)下載,如下,每個(gè)平臺都有版本,選擇適合您平臺的一款可以:
  
  
  2.安裝完成后,dede自動(dòng)采集教程,打開(kāi)本軟件,主界面如下,直接輸入需要采集的網(wǎng)頁(yè)地址,軟件會(huì )自動(dòng)識別網(wǎng)頁(yè)中的數據,并嘗試翻頁(yè)功能:
  
  
  以智聯(lián)招聘數據為例,dede自動(dòng)采集教程會(huì )自動(dòng)識別網(wǎng)頁(yè)中可以為采集的信息,非常方便。您還可以自定義 采集 規則以刪除不必要的字段:
  
  優(yōu)采云采集器這也是一個(gè)很好的爬蟲(chóng)數據采集工具,目前主要用于Windows平臺,內置大量數據采集模板,你可以輕松采集天貓、京東等熱門(mén)網(wǎng)站,我簡(jiǎn)單介紹一下這款軟件的安裝和使用:
  1.首先,安裝優(yōu)采云采集器,也可以直接從官網(wǎng)下載,如下,一個(gè)exe安裝包,直接安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接選擇采集方法,新建采集任務(wù)(支持批量網(wǎng)頁(yè)< @采集)、自定義采集字段等,都很簡(jiǎn)單,鼠標點(diǎn)一下,官方還自帶入門(mén)教程,非常適合初學(xué)者學(xué)習:
  優(yōu)采云采集器這也是Windows平臺下一個(gè)非常不錯的爬蟲(chóng)數據采集工具。其基本功能與前兩款軟件類(lèi)似,集數據采集、處理、分析、挖掘于一體。在整個(gè)過(guò)程中,您可以輕松采集任何網(wǎng)頁(yè),通過(guò)分析準確挖掘信息。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  1.首先安裝優(yōu)采云采集器,可以直接從官網(wǎng)下載,如下,也是exe安裝包,雙擊安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接新建采集任務(wù),設置采集規則,自定義采集@ > 字段。傻瓜式 的操作可以逐步進(jìn)行。官方也有自己的入門(mén)教程,非常詳細,非常適合初學(xué)者學(xué)習和掌握:
  至此,我們已經(jīng)完成了三個(gè)爬蟲(chóng)數據采集工具優(yōu)采云、優(yōu)采云和優(yōu)采云的安裝和使用??偟膩?lái)說(shuō),這三個(gè)軟件都很好。只要熟悉使用流程,就能很快掌握。當然,如果你熟悉Python等編程語(yǔ)言,也可以編程實(shí)現網(wǎng)絡(luò )數據爬取。網(wǎng)上也有相關(guān)教程。還有資料,介紹的很詳細。如果你有興趣,你可以搜索一下。希望以上分享的內容對您有所幫助。也歡迎大家評論和留言補充。

自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)第一篇論文等方法的第四章)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 162 次瀏覽 ? 2022-01-24 08:01 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)第一篇論文等方法的第四章)
  自動(dòng)采集編寫(xiě)第一篇論文,到現在已經(jīng)有一周時(shí)間了,這期間經(jīng)歷了很多痛苦的事情,我也有過(guò)信心喪失、發(fā)呆、起身的低谷。在一篇連續七天沒(méi)有出頭的情況下,我都不想讓人知道自己到底寫(xiě)了啥,既然要寫(xiě)這么多,那么自然都是要匯總到最后的。這周的主題是關(guān)于普通聚類(lèi)的一些工作和理解,包括pca/ica等方法的理解,目的都是為了解決問(wèn)題。
  聚類(lèi)已經(jīng)是一個(gè)非?;A的工作了,我初中看過(guò)一些關(guān)于國內學(xué)者的介紹,深以為然,基本現有的檢測技術(shù)都可以用聚類(lèi)的方法來(lái)進(jìn)行檢測。我剛進(jìn)入研究生的時(shí)候,當時(shí)使用最多的是依靠尺度/通道自動(dòng)篩選的方法,這種聚類(lèi)方法的問(wèn)題在于的問(wèn)題是無(wú)法對不同圖像元素進(jìn)行區分,當然這也是因為當時(shí)的數據本身很稀疏,且數據分類(lèi)質(zhì)量并不高,才會(huì )出現這種問(wèn)題。
  現在從事數據挖掘方面的工作也近十年了,發(fā)現目前所有關(guān)于無(wú)監督的聚類(lèi)方法,都存在著(zhù)很多問(wèn)題,有興趣的讀者可以在文末留言,相信下面會(huì )有解決方案。在第二篇講解ica等方法的第四章里,提到的性質(zhì)是準確度高、擴展性差的問(wèn)題,也許這樣說(shuō)確實(shí)有失偏頗,但我認為ica算法在實(shí)際應用中并不存在太大問(wèn)題,這些問(wèn)題是基于計算復雜度的目的導致的。
  同時(shí)在此過(guò)程中還發(fā)現了一些問(wèn)題,比如我們所面臨的數據庫其實(shí)很雜亂,隨便找一張看起來(lái)像的數據都可以聚到一起,這樣真的很難進(jìn)行很高效的聚類(lèi)工作??匆恍┤毡镜臄祿?,可以發(fā)現三三相似是一個(gè)很奇怪的形狀,m3圖數據集里三三相似還可以接受,但在中國的三三相似圖像數據集里就不行了,在調查過(guò)程中,發(fā)現他們的數據庫其實(shí)是非常具有技術(shù)含量的,仔細想想的話(huà),就覺(jué)得我們需要從好的方面看待問(wèn)題。
  確實(shí),在當下的聚類(lèi)里面,基本上只有一種單尺度聚類(lèi)方法,那就是pca或者ica,但隨著(zhù)機器學(xué)習和深度學(xué)習的發(fā)展,深度學(xué)習和卷積神經(jīng)網(wǎng)絡(luò )都可以有很好的聚類(lèi)效果。為什么不同尺度的聚類(lèi)可以進(jìn)行互聚,同時(shí)ica和pca算法都是基于數據的稀疏性來(lái)實(shí)現的,就是說(shuō)每個(gè)數據點(diǎn)之間都是互相不重疊的,這樣就實(shí)現了所謂的「多尺度聚類(lèi)」。
  但我在其他的文章當中也講到過(guò),這種多尺度是不一定需要經(jīng)過(guò)網(wǎng)絡(luò )的,也就是聚類(lèi)算法本身并不包含這一項,這是一個(gè)思維誤區。同時(shí),本篇文章同樣有一些問(wèn)題在里面,為了降低讀者的理解門(mén)檻,下面我在這個(gè)片段就不解釋了。另外一方面,在實(shí)踐過(guò)程中會(huì )遇到的問(wèn)題其實(shí)是所謂的迭代問(wèn)題,多尺度聚類(lèi)方法往往需要迭代多次,特別是pca或者ica這種高層次的方法,這樣無(wú)形當中增加了壓力,或者說(shuō)時(shí)間成本。這會(huì )使得一個(gè)聚類(lèi)算法算法性能不再穩定,這是。 查看全部

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)第一篇論文等方法的第四章)
  自動(dòng)采集編寫(xiě)第一篇論文,到現在已經(jīng)有一周時(shí)間了,這期間經(jīng)歷了很多痛苦的事情,我也有過(guò)信心喪失、發(fā)呆、起身的低谷。在一篇連續七天沒(méi)有出頭的情況下,我都不想讓人知道自己到底寫(xiě)了啥,既然要寫(xiě)這么多,那么自然都是要匯總到最后的。這周的主題是關(guān)于普通聚類(lèi)的一些工作和理解,包括pca/ica等方法的理解,目的都是為了解決問(wèn)題。
  聚類(lèi)已經(jīng)是一個(gè)非?;A的工作了,我初中看過(guò)一些關(guān)于國內學(xué)者的介紹,深以為然,基本現有的檢測技術(shù)都可以用聚類(lèi)的方法來(lái)進(jìn)行檢測。我剛進(jìn)入研究生的時(shí)候,當時(shí)使用最多的是依靠尺度/通道自動(dòng)篩選的方法,這種聚類(lèi)方法的問(wèn)題在于的問(wèn)題是無(wú)法對不同圖像元素進(jìn)行區分,當然這也是因為當時(shí)的數據本身很稀疏,且數據分類(lèi)質(zhì)量并不高,才會(huì )出現這種問(wèn)題。
  現在從事數據挖掘方面的工作也近十年了,發(fā)現目前所有關(guān)于無(wú)監督的聚類(lèi)方法,都存在著(zhù)很多問(wèn)題,有興趣的讀者可以在文末留言,相信下面會(huì )有解決方案。在第二篇講解ica等方法的第四章里,提到的性質(zhì)是準確度高、擴展性差的問(wèn)題,也許這樣說(shuō)確實(shí)有失偏頗,但我認為ica算法在實(shí)際應用中并不存在太大問(wèn)題,這些問(wèn)題是基于計算復雜度的目的導致的。
  同時(shí)在此過(guò)程中還發(fā)現了一些問(wèn)題,比如我們所面臨的數據庫其實(shí)很雜亂,隨便找一張看起來(lái)像的數據都可以聚到一起,這樣真的很難進(jìn)行很高效的聚類(lèi)工作??匆恍┤毡镜臄祿?,可以發(fā)現三三相似是一個(gè)很奇怪的形狀,m3圖數據集里三三相似還可以接受,但在中國的三三相似圖像數據集里就不行了,在調查過(guò)程中,發(fā)現他們的數據庫其實(shí)是非常具有技術(shù)含量的,仔細想想的話(huà),就覺(jué)得我們需要從好的方面看待問(wèn)題。
  確實(shí),在當下的聚類(lèi)里面,基本上只有一種單尺度聚類(lèi)方法,那就是pca或者ica,但隨著(zhù)機器學(xué)習和深度學(xué)習的發(fā)展,深度學(xué)習和卷積神經(jīng)網(wǎng)絡(luò )都可以有很好的聚類(lèi)效果。為什么不同尺度的聚類(lèi)可以進(jìn)行互聚,同時(shí)ica和pca算法都是基于數據的稀疏性來(lái)實(shí)現的,就是說(shuō)每個(gè)數據點(diǎn)之間都是互相不重疊的,這樣就實(shí)現了所謂的「多尺度聚類(lèi)」。
  但我在其他的文章當中也講到過(guò),這種多尺度是不一定需要經(jīng)過(guò)網(wǎng)絡(luò )的,也就是聚類(lèi)算法本身并不包含這一項,這是一個(gè)思維誤區。同時(shí),本篇文章同樣有一些問(wèn)題在里面,為了降低讀者的理解門(mén)檻,下面我在這個(gè)片段就不解釋了。另外一方面,在實(shí)踐過(guò)程中會(huì )遇到的問(wèn)題其實(shí)是所謂的迭代問(wèn)題,多尺度聚類(lèi)方法往往需要迭代多次,特別是pca或者ica這種高層次的方法,這樣無(wú)形當中增加了壓力,或者說(shuō)時(shí)間成本。這會(huì )使得一個(gè)聚類(lèi)算法算法性能不再穩定,這是。

自動(dòng)采集編寫(xiě)(如何使用采集功能去采集一個(gè)圖片類(lèi)的網(wǎng)站(組圖))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 176 次瀏覽 ? 2022-01-22 11:21 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(如何使用采集功能去采集一個(gè)圖片類(lèi)的網(wǎng)站(組圖))
  前言:本文章主要介紹如何使用采集函數來(lái)采集一個(gè)圖片類(lèi)網(wǎng)站。本次選擇的目標站點(diǎn)為:戰酷網(wǎng)名作鑒賞欄目,網(wǎng)址為:. 本文將介紹如何處理收錄 采集 分頁(yè)的頁(yè)面以及如何使用簡(jiǎn)單的過(guò)濾規則。本文分為三個(gè)部分: 第1部分主要介紹如何進(jìn)入采集界面以及添加新采集節點(diǎn)的第一步:設置基本信息和URL索引頁(yè)面規則;第二節,主要是引入新的采集節點(diǎn)的第二步:設置字段獲取規則;第三節主要介紹采集如何指定節點(diǎn)以及如何導出采集內容。
  進(jìn)入下面的第一部分。
  1.1進(jìn)入采集節點(diǎn)管理界面
  如圖1),在后臺管理界面主菜單點(diǎn)擊“采集”,再點(diǎn)擊“采集節點(diǎn)管理”進(jìn)入采集節點(diǎn)管理界面,如圖(圖2).
  
  圖 1 - 后臺管理界面
  
  圖2-采集節點(diǎn)管理界面
  1.2. 添加新節點(diǎn)
  在采集節點(diǎn)管理界面,點(diǎn)擊左下角“添加新節點(diǎn)”或右上角“添加新節點(diǎn)”(如圖2),可以輸入“選擇內容模型”界面,如(如圖3),
  
  圖 3 - 選擇內容模型界面
  在“選擇內容模型”界面的下拉列表框中,有“普通文章”和“圖片采集”可供選擇。
  根據頁(yè)面類(lèi)型為采集,選擇對應的內容模型。本文選擇“圖片采集”,點(diǎn)擊確定,即可進(jìn)入“添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則”界面,如圖(圖4)@ > ,
  
  圖4 - 添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  1.2.1 設置節點(diǎn)基本信息
  
  圖 5 - 節點(diǎn)基本信息
  如圖(圖5),這里只是獲取“目標頁(yè)面代碼”的方法,其他設置請參考前面的文章。具體操作步驟:
  (a) 打開(kāi) 采集: 所針對的目標頁(yè)面;
  (b) 右擊選擇“查看源文件”找到“charset”,如圖(圖6),
  
  圖 6 - 查看源文件
  等號后面的代碼就是需要填寫(xiě)的“編碼格式”,這里是“utf-8”。
  填寫(xiě)后,如圖(圖7),
  
  圖 7 - 設置后節點(diǎn)的基本信息
  檢查后,進(jìn)入下一步。
  1.2.2 設置列表URL獲取規則
  
  圖 8 - 列出 URL 獲取規則
  如(圖8),這里是設置采集的文章列表頁(yè)的匹配規則。具體步驟:
  (a) 首先,回到打開(kāi)的列表頁(yè)面,找到瀏覽器的URL地址欄中顯示的URL和頁(yè)面的分頁(yè)符部分。如(圖9)和(圖10))所示,
  
  圖 9 - 瀏覽器的 URL 地址欄
  
  圖 10 - 頁(yè)面提要
  (b) 點(diǎn)擊“2”打開(kāi)文章列表頁(yè)面的第二頁(yè),再次找到瀏覽器的URL地址欄顯示的URL和頁(yè)面的換頁(yè)部分,如圖(圖12)和(如圖13),
  
  圖 11 - 第二頁(yè)的 URL
  
  圖 12 - 第二頁(yè)上的換頁(yè)
  (c) 在打開(kāi)的列表頁(yè)第二頁(yè),點(diǎn)擊(1)返回列表頁(yè)第一頁(yè),頁(yè)面換頁(yè)部分同上圖10,只是瀏覽器URL地址欄顯示的URL與上圖9不同,如圖(圖13),
  
  圖 13 - 第一個(gè)頁(yè)面的 URL
  (d) 由(b)和(c)可知,這里采集的列表頁(yè)的URL遵循如下規則:
  !0!0!200!(*)!1!0!0/. 為了安全起見(jiàn),請為自己測試更多列表頁(yè)面。規則確定后,在“匹配網(wǎng)址”中,填寫(xiě)列表頁(yè)后面的規則。
  (e) 最后,根據需要指定采集的頁(yè)碼或常規數,并設置其遞增規則。
  至此,“List URL獲取規則”部分就設置好了。最終結果,如圖(圖14)@>,
  
  圖 14 - 設置后的 URL 獲取規則列表
  確認無(wú)誤后,進(jìn)行下一步。
  1.2.3設置文章網(wǎng)址匹配規則
  
  圖 15 - 文章 URL 匹配規則
  下面是設置采集列表頁(yè)的匹配規則。
  具體步驟:
   (a)對于“區域開(kāi)始的HTML”,可以在已打開(kāi)的列表首頁(yè),單擊右鍵后選擇“查看源文件”查找出第一篇文章的標題“高清壁紙”來(lái)獲得,如(圖16)所示,
  
  圖 16 - 查看源文件中第一個(gè) 文章 的標題
  通過(guò)觀(guān)察不難看出,“”是整個(gè)列表的結尾,后面的“”是頁(yè)面的分頁(yè)符。所以,在“HTML 結尾區域”中,應該用“”填充,意思是到第一個(gè)結尾。
  (c) 觀(guān)察圖16和圖17中文章的標題部分,可以發(fā)現標題的鏈接地址收錄“=.html”。因此,在“必須收錄”中,填寫(xiě)“=.html”。
  至此,“文章URL匹配規則”就設置好了。填寫(xiě)后,如圖(圖18),
  
  圖 18 - 文章 設置后的 URL 匹配規則
  通過(guò)以上三個(gè)小節,已經(jīng)設置了添加采集節點(diǎn)的第一步。設置后的最終結果,如圖(圖19),
  
  圖19 - 設置后新增采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  全部完成并勾選后,點(diǎn)擊“保存信息并進(jìn)入下一步”。如果前面設置正確,點(diǎn)擊后會(huì )進(jìn)入“添加采集節點(diǎn):測試URL索引頁(yè)面規則設置的基本信息和URL獲取規則測試”頁(yè)面,看到對應的文章列表地址. 如圖(圖20),
  
  圖 20 - URL 獲取規則測試
  確認無(wú)誤后,點(diǎn)擊“保存信息并進(jìn)入下一步”。否則,單擊“返回上一步進(jìn)行更改”。
  至此,第一章結束
  2.1增加了一個(gè)采集節點(diǎn):第二步設置內容字段獲取規則
  點(diǎn)擊“保存信息并進(jìn)入下一步”后,可以進(jìn)入“添加采集節點(diǎn):步驟2設置內容字段獲取規則”頁(yè)面,如圖(圖21),
  
  圖 21 - 設置內容字段獲取規則
  在預覽網(wǎng)址,系統會(huì )自動(dòng)指定一個(gè)文章作為演示頁(yè)面,如有特殊需要可自行更改。打開(kāi)演示頁(yè)面,觀(guān)察頁(yè)面收錄分頁(yè),如圖(圖22),
  
  圖 22 - 分頁(yè)
  讓我們?yōu)榉猪?yè)部分設置匹配規則。
  具體步驟:
  (a) 在頁(yè)面的源碼中,找到分頁(yè)代碼的開(kāi)頭和結尾,如圖(圖23),
  
  圖 23 - 分頁(yè)代碼
  (b) 觀(guān)察可見(jiàn)分頁(yè)碼位于“
  “和”
  ”。因此,在“內容分頁(yè)導航所在區域匹配規則”中,應填寫(xiě)“[內容] 查看全部

  自動(dòng)采集編寫(xiě)(如何使用采集功能去采集一個(gè)圖片類(lèi)的網(wǎng)站(組圖))
  前言:本文章主要介紹如何使用采集函數來(lái)采集一個(gè)圖片類(lèi)網(wǎng)站。本次選擇的目標站點(diǎn)為:戰酷網(wǎng)名作鑒賞欄目,網(wǎng)址為:. 本文將介紹如何處理收錄 采集 分頁(yè)的頁(yè)面以及如何使用簡(jiǎn)單的過(guò)濾規則。本文分為三個(gè)部分: 第1部分主要介紹如何進(jìn)入采集界面以及添加新采集節點(diǎn)的第一步:設置基本信息和URL索引頁(yè)面規則;第二節,主要是引入新的采集節點(diǎn)的第二步:設置字段獲取規則;第三節主要介紹采集如何指定節點(diǎn)以及如何導出采集內容。
  進(jìn)入下面的第一部分。
  1.1進(jìn)入采集節點(diǎn)管理界面
  如圖1),在后臺管理界面主菜單點(diǎn)擊“采集”,再點(diǎn)擊“采集節點(diǎn)管理”進(jìn)入采集節點(diǎn)管理界面,如圖(圖2).
  
  圖 1 - 后臺管理界面
  
  圖2-采集節點(diǎn)管理界面
  1.2. 添加新節點(diǎn)
  在采集節點(diǎn)管理界面,點(diǎn)擊左下角“添加新節點(diǎn)”或右上角“添加新節點(diǎn)”(如圖2),可以輸入“選擇內容模型”界面,如(如圖3),
  
  圖 3 - 選擇內容模型界面
  在“選擇內容模型”界面的下拉列表框中,有“普通文章”和“圖片采集”可供選擇。
  根據頁(yè)面類(lèi)型為采集,選擇對應的內容模型。本文選擇“圖片采集”,點(diǎn)擊確定,即可進(jìn)入“添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則”界面,如圖(圖4)@ > ,
  
  圖4 - 添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  1.2.1 設置節點(diǎn)基本信息
  
  圖 5 - 節點(diǎn)基本信息
  如圖(圖5),這里只是獲取“目標頁(yè)面代碼”的方法,其他設置請參考前面的文章。具體操作步驟:
  (a) 打開(kāi) 采集: 所針對的目標頁(yè)面;
  (b) 右擊選擇“查看源文件”找到“charset”,如圖(圖6),
  
  圖 6 - 查看源文件
  等號后面的代碼就是需要填寫(xiě)的“編碼格式”,這里是“utf-8”。
  填寫(xiě)后,如圖(圖7),
  
  圖 7 - 設置后節點(diǎn)的基本信息
  檢查后,進(jìn)入下一步。
  1.2.2 設置列表URL獲取規則
  
  圖 8 - 列出 URL 獲取規則
  如(圖8),這里是設置采集的文章列表頁(yè)的匹配規則。具體步驟:
  (a) 首先,回到打開(kāi)的列表頁(yè)面,找到瀏覽器的URL地址欄中顯示的URL和頁(yè)面的分頁(yè)符部分。如(圖9)和(圖10))所示,
  
  圖 9 - 瀏覽器的 URL 地址欄
  
  圖 10 - 頁(yè)面提要
  (b) 點(diǎn)擊“2”打開(kāi)文章列表頁(yè)面的第二頁(yè),再次找到瀏覽器的URL地址欄顯示的URL和頁(yè)面的換頁(yè)部分,如圖(圖12)和(如圖13),
  
  圖 11 - 第二頁(yè)的 URL
  
  圖 12 - 第二頁(yè)上的換頁(yè)
  (c) 在打開(kāi)的列表頁(yè)第二頁(yè),點(diǎn)擊(1)返回列表頁(yè)第一頁(yè),頁(yè)面換頁(yè)部分同上圖10,只是瀏覽器URL地址欄顯示的URL與上圖9不同,如圖(圖13),
  
  圖 13 - 第一個(gè)頁(yè)面的 URL
  (d) 由(b)和(c)可知,這里采集的列表頁(yè)的URL遵循如下規則:
  !0!0!200!(*)!1!0!0/. 為了安全起見(jiàn),請為自己測試更多列表頁(yè)面。規則確定后,在“匹配網(wǎng)址”中,填寫(xiě)列表頁(yè)后面的規則。
  (e) 最后,根據需要指定采集的頁(yè)碼或常規數,并設置其遞增規則。
  至此,“List URL獲取規則”部分就設置好了。最終結果,如圖(圖14)@>,
  
  圖 14 - 設置后的 URL 獲取規則列表
  確認無(wú)誤后,進(jìn)行下一步。
  1.2.3設置文章網(wǎng)址匹配規則
  
  圖 15 - 文章 URL 匹配規則
  下面是設置采集列表頁(yè)的匹配規則。
  具體步驟:
   (a)對于“區域開(kāi)始的HTML”,可以在已打開(kāi)的列表首頁(yè),單擊右鍵后選擇“查看源文件”查找出第一篇文章的標題“高清壁紙”來(lái)獲得,如(圖16)所示,
  
  圖 16 - 查看源文件中第一個(gè) 文章 的標題
  通過(guò)觀(guān)察不難看出,“”是整個(gè)列表的結尾,后面的“”是頁(yè)面的分頁(yè)符。所以,在“HTML 結尾區域”中,應該用“”填充,意思是到第一個(gè)結尾。
  (c) 觀(guān)察圖16和圖17中文章的標題部分,可以發(fā)現標題的鏈接地址收錄“=.html”。因此,在“必須收錄”中,填寫(xiě)“=.html”。
  至此,“文章URL匹配規則”就設置好了。填寫(xiě)后,如圖(圖18),
  
  圖 18 - 文章 設置后的 URL 匹配規則
  通過(guò)以上三個(gè)小節,已經(jīng)設置了添加采集節點(diǎn)的第一步。設置后的最終結果,如圖(圖19),
  
  圖19 - 設置后新增采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  全部完成并勾選后,點(diǎn)擊“保存信息并進(jìn)入下一步”。如果前面設置正確,點(diǎn)擊后會(huì )進(jìn)入“添加采集節點(diǎn):測試URL索引頁(yè)面規則設置的基本信息和URL獲取規則測試”頁(yè)面,看到對應的文章列表地址. 如圖(圖20),
  
  圖 20 - URL 獲取規則測試
  確認無(wú)誤后,點(diǎn)擊“保存信息并進(jìn)入下一步”。否則,單擊“返回上一步進(jìn)行更改”。
  至此,第一章結束
  2.1增加了一個(gè)采集節點(diǎn):第二步設置內容字段獲取規則
  點(diǎn)擊“保存信息并進(jìn)入下一步”后,可以進(jìn)入“添加采集節點(diǎn):步驟2設置內容字段獲取規則”頁(yè)面,如圖(圖21),
  
  圖 21 - 設置內容字段獲取規則
  在預覽網(wǎng)址,系統會(huì )自動(dòng)指定一個(gè)文章作為演示頁(yè)面,如有特殊需要可自行更改。打開(kāi)演示頁(yè)面,觀(guān)察頁(yè)面收錄分頁(yè),如圖(圖22),
  
  圖 22 - 分頁(yè)
  讓我們?yōu)榉猪?yè)部分設置匹配規則。
  具體步驟:
  (a) 在頁(yè)面的源碼中,找到分頁(yè)代碼的開(kāi)頭和結尾,如圖(圖23),
  
  圖 23 - 分頁(yè)代碼
  (b) 觀(guān)察可見(jiàn)分頁(yè)碼位于“
  “和”
  ”。因此,在“內容分頁(yè)導航所在區域匹配規則”中,應填寫(xiě)“[內容]

自動(dòng)采集編寫(xiě)(web反編譯漏洞利用及調試,如何防范sql注入?)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 165 次瀏覽 ? 2022-01-22 07:03 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(web反編譯漏洞利用及調試,如何防范sql注入?)
  自動(dòng)采集編寫(xiě)sql對于web安全領(lǐng)域有極大的價(jià)值,很大一部分原因是因為語(yǔ)法簡(jiǎn)單,容易入門(mén)。一個(gè)簡(jiǎn)單的web安全漏洞入口,幾分鐘內便可以寫(xiě)出sql注入的漏洞利用。同時(shí)目前還有很多的sql注入工具,可以很方便地編寫(xiě)調試自己的sql注入工具。想完成怎么樣的自動(dòng)化?web反編譯漏洞利用及調試,會(huì )java或c#之后,可以編寫(xiě)sql反編譯。
  通過(guò)偽裝程序,寫(xiě)上一些鉤子(用來(lái)攻擊服務(wù)器),來(lái)完成對后臺系統的監控。一般是寫(xiě)腳本,然后有一堆連接,通過(guò)監控連接的返回內容來(lái)調試。相對于之前已有的java、c#反編譯工具,可以寫(xiě)出像exp,fastdom,faithfulfuck這樣的自動(dòng)化反編譯工具。在定位到漏洞后還有需要解決的問(wèn)題,一是:權限認證,root權限下,還是需要提權二是:表的處理比如table掃描后是否也需要判斷表名或者頁(yè)面腳本的內容,如果判斷錯誤,是否還需要修改三是:外掛這一部分暫時(shí)只能是利用人工進(jìn)行。
  當遇到未知漏洞的時(shí)候,怎么找到爆發(fā)的地方呢?爆發(fā)點(diǎn)?前端腳本或者利用php的sql注入漏洞抓取的頁(yè)面?經(jīng)過(guò)整理以后,這篇文章中主要介紹sql注入web漏洞,結合sqlmap抓取出來(lái)的頁(yè)面,并提出如何防范sql注入。sql注入問(wèn)題我在之前的文章中說(shuō)過(guò),middleware可以幫我們攻擊我們的目標站點(diǎn),獲取并利用一個(gè)java類(lèi)在服務(wù)器生成惡意代碼或者非本站點(diǎn)的代碼。
  sqlmap是解決web漏洞問(wèn)題,非要拿sqlmap抓包截圖,我還真沒(méi)有。只能看看截圖描述了,sqlmap的具體配置和上面文章說(shuō)的一樣。sqlmap和sqlmap代碼對比:sqlmap看圖說(shuō)話(huà),先抓腳本和非腳本的數據,然后判斷頁(yè)面中的username,method和data值,然后下發(fā)對應的權限數據給頁(yè)面的web服務(wù)器。
  php的文件結構:class/request.phpheader='post://';content-type="application/x-www-form-urlencoded"accept-encoding="gzip,deflate"*[@data]=categoryrestrict;charset=utf-8accept-language="zh-cn,zh;q=0.8"[@data]=_"writable=1"connection:keep-alive=truemultipart/form-data(.*)[@data]=post/'get'://'post':''accept-language="zh-cn,zh;q=0.8".get/temp[@data]=usernamecontent-type="application/x-www-form-urlencoded".get/form-data[@data]=methodaccept-encoding="gzip,deflate"[@data]=dataconnection:keep-alive'accept-language="zh-cn,zh。 查看全部

  自動(dòng)采集編寫(xiě)(web反編譯漏洞利用及調試,如何防范sql注入?)
  自動(dòng)采集編寫(xiě)sql對于web安全領(lǐng)域有極大的價(jià)值,很大一部分原因是因為語(yǔ)法簡(jiǎn)單,容易入門(mén)。一個(gè)簡(jiǎn)單的web安全漏洞入口,幾分鐘內便可以寫(xiě)出sql注入的漏洞利用。同時(shí)目前還有很多的sql注入工具,可以很方便地編寫(xiě)調試自己的sql注入工具。想完成怎么樣的自動(dòng)化?web反編譯漏洞利用及調試,會(huì )java或c#之后,可以編寫(xiě)sql反編譯。
  通過(guò)偽裝程序,寫(xiě)上一些鉤子(用來(lái)攻擊服務(wù)器),來(lái)完成對后臺系統的監控。一般是寫(xiě)腳本,然后有一堆連接,通過(guò)監控連接的返回內容來(lái)調試。相對于之前已有的java、c#反編譯工具,可以寫(xiě)出像exp,fastdom,faithfulfuck這樣的自動(dòng)化反編譯工具。在定位到漏洞后還有需要解決的問(wèn)題,一是:權限認證,root權限下,還是需要提權二是:表的處理比如table掃描后是否也需要判斷表名或者頁(yè)面腳本的內容,如果判斷錯誤,是否還需要修改三是:外掛這一部分暫時(shí)只能是利用人工進(jìn)行。
  當遇到未知漏洞的時(shí)候,怎么找到爆發(fā)的地方呢?爆發(fā)點(diǎn)?前端腳本或者利用php的sql注入漏洞抓取的頁(yè)面?經(jīng)過(guò)整理以后,這篇文章中主要介紹sql注入web漏洞,結合sqlmap抓取出來(lái)的頁(yè)面,并提出如何防范sql注入。sql注入問(wèn)題我在之前的文章中說(shuō)過(guò),middleware可以幫我們攻擊我們的目標站點(diǎn),獲取并利用一個(gè)java類(lèi)在服務(wù)器生成惡意代碼或者非本站點(diǎn)的代碼。
  sqlmap是解決web漏洞問(wèn)題,非要拿sqlmap抓包截圖,我還真沒(méi)有。只能看看截圖描述了,sqlmap的具體配置和上面文章說(shuō)的一樣。sqlmap和sqlmap代碼對比:sqlmap看圖說(shuō)話(huà),先抓腳本和非腳本的數據,然后判斷頁(yè)面中的username,method和data值,然后下發(fā)對應的權限數據給頁(yè)面的web服務(wù)器。
  php的文件結構:class/request.phpheader='post://';content-type="application/x-www-form-urlencoded"accept-encoding="gzip,deflate"*[@data]=categoryrestrict;charset=utf-8accept-language="zh-cn,zh;q=0.8"[@data]=_"writable=1"connection:keep-alive=truemultipart/form-data(.*)[@data]=post/'get'://'post':''accept-language="zh-cn,zh;q=0.8".get/temp[@data]=usernamecontent-type="application/x-www-form-urlencoded".get/form-data[@data]=methodaccept-encoding="gzip,deflate"[@data]=dataconnection:keep-alive'accept-language="zh-cn,zh。

自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 169 次瀏覽 ? 2022-01-22 05:04 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù))
  自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù)加速收集更多采集自動(dòng)爬取微信公眾號后臺,回復“自動(dòng)采集”,獲取地址你可以一邊寫(xiě)代碼一邊玩:但要記住你的代碼要在你的計算機上運行時(shí),要在系統防火墻中進(jìn)行過(guò)濾。安裝依賴(lài)性()python版本如果是3.6或3.7,則需要先安裝以下依賴(lài)性(如果使用python3.3,則需要添加pip3)自動(dòng)采集編寫(xiě)器如果有類(lèi)似爬蟲(chóng)類(lèi)型的編程經(jīng)驗,學(xué)習起來(lái)較為容易,因為這些技術(shù)大部分都是相通的。
  安裝爬蟲(chóng)類(lèi)型編程技術(shù)方面的軟件,則必須詳細了解一下如何安裝。自動(dòng)采集寫(xiě)器采集腳本則是使用自動(dòng)化代碼生成系統來(lái)執行代碼寫(xiě)法。簡(jiǎn)單說(shuō),就是自動(dòng)生成代碼來(lái)采集、去重、分析和查詢(xún)。采集腳本的腳本名字是生成腳本名字的關(guān)鍵因素,因此它可以產(chǎn)生一個(gè)簡(jiǎn)短的代碼。如果添加一個(gè)關(guān)鍵字,腳本名字就會(huì )變得更長(cháng)一些。也可以直接使用輸入關(guān)鍵字后的分號結束符代替分號結束符,否則腳本名字就不會(huì )自動(dòng)變長(cháng)。
  2019年了,還看什么python爬蟲(chóng),趕緊學(xué)其他賺錢(qián)的技術(shù).python能夠輕松做到的事情太多了,爬蟲(chóng)基本已經(jīng)被淘汰,另外,要學(xué)會(huì )自我引導,自己思考怎么繞過(guò)瀏覽器的反爬蟲(chóng)機制。這里是我自己的python社區,里面有爬蟲(chóng), 查看全部

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù))
  自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù)加速收集更多采集自動(dòng)爬取微信公眾號后臺,回復“自動(dòng)采集”,獲取地址你可以一邊寫(xiě)代碼一邊玩:但要記住你的代碼要在你的計算機上運行時(shí),要在系統防火墻中進(jìn)行過(guò)濾。安裝依賴(lài)性()python版本如果是3.6或3.7,則需要先安裝以下依賴(lài)性(如果使用python3.3,則需要添加pip3)自動(dòng)采集編寫(xiě)器如果有類(lèi)似爬蟲(chóng)類(lèi)型的編程經(jīng)驗,學(xué)習起來(lái)較為容易,因為這些技術(shù)大部分都是相通的。
  安裝爬蟲(chóng)類(lèi)型編程技術(shù)方面的軟件,則必須詳細了解一下如何安裝。自動(dòng)采集寫(xiě)器采集腳本則是使用自動(dòng)化代碼生成系統來(lái)執行代碼寫(xiě)法。簡(jiǎn)單說(shuō),就是自動(dòng)生成代碼來(lái)采集、去重、分析和查詢(xún)。采集腳本的腳本名字是生成腳本名字的關(guān)鍵因素,因此它可以產(chǎn)生一個(gè)簡(jiǎn)短的代碼。如果添加一個(gè)關(guān)鍵字,腳本名字就會(huì )變得更長(cháng)一些。也可以直接使用輸入關(guān)鍵字后的分號結束符代替分號結束符,否則腳本名字就不會(huì )自動(dòng)變長(cháng)。
  2019年了,還看什么python爬蟲(chóng),趕緊學(xué)其他賺錢(qián)的技術(shù).python能夠輕松做到的事情太多了,爬蟲(chóng)基本已經(jīng)被淘汰,另外,要學(xué)會(huì )自我引導,自己思考怎么繞過(guò)瀏覽器的反爬蟲(chóng)機制。這里是我自己的python社區,里面有爬蟲(chóng),

自動(dòng)采集編寫(xiě)( 這是簡(jiǎn)易數據采集系列的第1篇文章。。(一) )

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 196 次瀏覽 ? 2022-01-19 18:03 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
這是簡(jiǎn)易數據采集系列的第1篇文章。。(一)
)
  
  這是 Easy Data 采集 系列 文章 中的第一篇。
  一、什么是網(wǎng)絡(luò )爬蟲(chóng)?
  網(wǎng)絡(luò )爬蟲(chóng),也稱(chēng)為網(wǎng)絡(luò )蜘蛛、網(wǎng)絡(luò )機器人和網(wǎng)絡(luò )跟蹤器;就像蜘蛛一樣,顧名思義,就是按照一定的規則自動(dòng)抓取網(wǎng)頁(yè)信息的程序或腳本。
  我們熟悉百度、谷歌和其他網(wǎng)絡(luò )搜索引擎,它們通過(guò)數以千計的爬蟲(chóng)程序更新其網(wǎng)站 內容或其他網(wǎng)站 的索引。網(wǎng)絡(luò )爬蟲(chóng)可以將訪(fǎng)問(wèn)的頁(yè)面保存到自己的服務(wù)器上,以便搜索引擎以后生成索引供用戶(hù)搜索。
  最通俗點(diǎn)就是讓程序自動(dòng)為你統計網(wǎng)頁(yè)上的數據。
  二、為什么要學(xué)習網(wǎng)絡(luò )爬蟲(chóng)?
  本文不會(huì )講過(guò)于復雜的程序爬蟲(chóng),只講web scraper,一個(gè)不需要寫(xiě)代碼的爬蟲(chóng)工具。一般只要這個(gè)工具能看到網(wǎng)頁(yè)上的信息,99%的都可以抓到。
  比如你要統計豆瓣電影的前250名名字、影評、評分等,你手動(dòng)復制粘貼到Excel中,大約需要一個(gè)小時(shí)。
  但是如果你知道爬蟲(chóng),配置爬取規則,程序會(huì )自動(dòng)幫你抓取,幾分鐘就能搞定。如果數據量很大,則需要更長(cháng)的時(shí)間。
  需要數據時(shí)采集:
  比如做一些市場(chǎng)調研和營(yíng)銷(xiāo)工作,往往需要采集數據分析,人工復制粘貼重復性工作,效率太低,經(jīng)常加班,不被領(lǐng)導認可;因此,有必要學(xué)會(huì )使用一些工具來(lái)提高工作效率,減少加班,多花點(diǎn)時(shí)間陪伴家人。
  在職場(chǎng)中,要不斷關(guān)注行業(yè)的技能要求和薪資分布,需要采集數據分析市場(chǎng)需求。
  股票分析師經(jīng)常需要采集上市公司的多份相關(guān)報告進(jìn)行分析。
  非計算機專(zhuān)業(yè)的同學(xué)需要快速爬取數據進(jìn)行數據分析才能寫(xiě)畢業(yè)論文。學(xué)習Python爬蟲(chóng)知識最好的選擇就是借助一些爬蟲(chóng)工具來(lái)輔助。
  這些都是生活中遇到的問(wèn)題。面對這些數據量的分析需求,利用非互聯(lián)網(wǎng)技術(shù)學(xué)習一些編程知識并不劃算;用于對數據進(jìn)行排序和分析的瀏覽器將為我們節省更多思考和決策的時(shí)間。
  三、主角出場(chǎng)時(shí)間到了——網(wǎng)絡(luò )爬蟲(chóng)
  web scraper 是一個(gè) Chrome 瀏覽器插件,用于處理網(wǎng)頁(yè)上的 采集 數據。它是一個(gè)封裝在程序中的爬蟲(chóng)工具。傻瓜式圖形界面操作,適合非專(zhuān)業(yè)人士使用。
  推薦理由:
  1、門(mén)檻夠低,只要你電腦上安裝了Chrome瀏覽器即可(其他火狐瀏覽器也支持,本教程只使用Chrome瀏覽器)。
  2、永久免費,無(wú)付費功能,無(wú)需注冊。
  3、操作簡(jiǎn)單,鼠標點(diǎn)幾下就可以爬取網(wǎng)頁(yè),真的是一個(gè)不用寫(xiě)代碼的爬蟲(chóng)。
  經(jīng)測試,可以爬取以下類(lèi)型網(wǎng)站:
  
  四、來(lái)吧!讓我們安裝它!由于 Web Scraper 是 Google Chrome 的附加組件,因此安裝它的最簡(jiǎn)單方法是使用 Chrome 網(wǎng)上應用店。我已經(jīng)安裝了它。
  
  但是我相信這個(gè)方法大部分朋友都用不上,因為在很久很久以前,國內一般是無(wú)法正常訪(fǎng)問(wèn)chrome在線(xiàn)應用商店的;那我怎樣才能打開(kāi)它并正常安裝呢?當然是在不尋常的情況下科學(xué)上網(wǎng)!哈哈(這個(gè)就不多解釋了)。
  別擔心,朋友們!
  我為您準備了另一種安裝方法。即在本公眾號回復【webs】即可獲取下載鏈接。
  1、下載解壓后會(huì )得到一個(gè).crx后綴的文件,就是chrome瀏覽器插件程序文件。
  
  2、重命名并改crx為rar(Mac用戶(hù)后綴改為zip),點(diǎn)擊確定即可得到一個(gè)rar壓縮文件。
  
  3、解壓安裝,解壓后如圖
  
  4、打開(kāi)chrome的擴展(設置->更多工具->擴展) chrome://extensions
  打開(kāi)右上角的【開(kāi)發(fā)者模式】,點(diǎn)擊左上角的【加載解壓的擴展】,選擇剛剛解壓的文件夾。
  
  
  5、顯示下圖說(shuō)明我們的chrome瀏覽器已經(jīng)成功安裝了Web Scraper插件。恭喜!
  
  萬(wàn)事開(kāi)頭難,但我們已經(jīng)解決了最難的骨頭。
  讓我們一起期待Web Scraper接下來(lái)基礎操作的魅力吧!害羞的臉~
   查看全部

  自動(dòng)采集編寫(xiě)(
這是簡(jiǎn)易數據采集系列的第1篇文章。。(一)
)
  
  這是 Easy Data 采集 系列 文章 中的第一篇。
  一、什么是網(wǎng)絡(luò )爬蟲(chóng)?
  網(wǎng)絡(luò )爬蟲(chóng),也稱(chēng)為網(wǎng)絡(luò )蜘蛛、網(wǎng)絡(luò )機器人和網(wǎng)絡(luò )跟蹤器;就像蜘蛛一樣,顧名思義,就是按照一定的規則自動(dòng)抓取網(wǎng)頁(yè)信息的程序或腳本。
  我們熟悉百度、谷歌和其他網(wǎng)絡(luò )搜索引擎,它們通過(guò)數以千計的爬蟲(chóng)程序更新其網(wǎng)站 內容或其他網(wǎng)站 的索引。網(wǎng)絡(luò )爬蟲(chóng)可以將訪(fǎng)問(wèn)的頁(yè)面保存到自己的服務(wù)器上,以便搜索引擎以后生成索引供用戶(hù)搜索。
  最通俗點(diǎn)就是讓程序自動(dòng)為你統計網(wǎng)頁(yè)上的數據。
  二、為什么要學(xué)習網(wǎng)絡(luò )爬蟲(chóng)?
  本文不會(huì )講過(guò)于復雜的程序爬蟲(chóng),只講web scraper,一個(gè)不需要寫(xiě)代碼的爬蟲(chóng)工具。一般只要這個(gè)工具能看到網(wǎng)頁(yè)上的信息,99%的都可以抓到。
  比如你要統計豆瓣電影的前250名名字、影評、評分等,你手動(dòng)復制粘貼到Excel中,大約需要一個(gè)小時(shí)。
  但是如果你知道爬蟲(chóng),配置爬取規則,程序會(huì )自動(dòng)幫你抓取,幾分鐘就能搞定。如果數據量很大,則需要更長(cháng)的時(shí)間。
  需要數據時(shí)采集:
  比如做一些市場(chǎng)調研和營(yíng)銷(xiāo)工作,往往需要采集數據分析,人工復制粘貼重復性工作,效率太低,經(jīng)常加班,不被領(lǐng)導認可;因此,有必要學(xué)會(huì )使用一些工具來(lái)提高工作效率,減少加班,多花點(diǎn)時(shí)間陪伴家人。
  在職場(chǎng)中,要不斷關(guān)注行業(yè)的技能要求和薪資分布,需要采集數據分析市場(chǎng)需求。
  股票分析師經(jīng)常需要采集上市公司的多份相關(guān)報告進(jìn)行分析。
  非計算機專(zhuān)業(yè)的同學(xué)需要快速爬取數據進(jìn)行數據分析才能寫(xiě)畢業(yè)論文。學(xué)習Python爬蟲(chóng)知識最好的選擇就是借助一些爬蟲(chóng)工具來(lái)輔助。
  這些都是生活中遇到的問(wèn)題。面對這些數據量的分析需求,利用非互聯(lián)網(wǎng)技術(shù)學(xué)習一些編程知識并不劃算;用于對數據進(jìn)行排序和分析的瀏覽器將為我們節省更多思考和決策的時(shí)間。
  三、主角出場(chǎng)時(shí)間到了——網(wǎng)絡(luò )爬蟲(chóng)
  web scraper 是一個(gè) Chrome 瀏覽器插件,用于處理網(wǎng)頁(yè)上的 采集 數據。它是一個(gè)封裝在程序中的爬蟲(chóng)工具。傻瓜式圖形界面操作,適合非專(zhuān)業(yè)人士使用。
  推薦理由:
  1、門(mén)檻夠低,只要你電腦上安裝了Chrome瀏覽器即可(其他火狐瀏覽器也支持,本教程只使用Chrome瀏覽器)。
  2、永久免費,無(wú)付費功能,無(wú)需注冊。
  3、操作簡(jiǎn)單,鼠標點(diǎn)幾下就可以爬取網(wǎng)頁(yè),真的是一個(gè)不用寫(xiě)代碼的爬蟲(chóng)。
  經(jīng)測試,可以爬取以下類(lèi)型網(wǎng)站:
  
  四、來(lái)吧!讓我們安裝它!由于 Web Scraper 是 Google Chrome 的附加組件,因此安裝它的最簡(jiǎn)單方法是使用 Chrome 網(wǎng)上應用店。我已經(jīng)安裝了它。
  
  但是我相信這個(gè)方法大部分朋友都用不上,因為在很久很久以前,國內一般是無(wú)法正常訪(fǎng)問(wèn)chrome在線(xiàn)應用商店的;那我怎樣才能打開(kāi)它并正常安裝呢?當然是在不尋常的情況下科學(xué)上網(wǎng)!哈哈(這個(gè)就不多解釋了)。
  別擔心,朋友們!
  我為您準備了另一種安裝方法。即在本公眾號回復【webs】即可獲取下載鏈接。
  1、下載解壓后會(huì )得到一個(gè).crx后綴的文件,就是chrome瀏覽器插件程序文件。
  
  2、重命名并改crx為rar(Mac用戶(hù)后綴改為zip),點(diǎn)擊確定即可得到一個(gè)rar壓縮文件。
  
  3、解壓安裝,解壓后如圖
  
  4、打開(kāi)chrome的擴展(設置->更多工具->擴展) chrome://extensions
  打開(kāi)右上角的【開(kāi)發(fā)者模式】,點(diǎn)擊左上角的【加載解壓的擴展】,選擇剛剛解壓的文件夾。
  
  
  5、顯示下圖說(shuō)明我們的chrome瀏覽器已經(jīng)成功安裝了Web Scraper插件。恭喜!
  
  萬(wàn)事開(kāi)頭難,但我們已經(jīng)解決了最難的骨頭。
  讓我們一起期待Web Scraper接下來(lái)基礎操作的魅力吧!害羞的臉~
  

自動(dòng)采集編寫(xiě)( AndroidStudio的Gradle插件含義及構建邏輯的含義和關(guān)系)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 171 次瀏覽 ? 2022-01-19 17:11 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
AndroidStudio的Gradle插件含義及構建邏輯的含義和關(guān)系)
  
  一、前言
  在上一篇文章 文章 中,我們了解到 Sensors Android 插件實(shí)際上是一個(gè)自定義的 Gradle 插件。Gradle 是一款專(zhuān)注于靈活性和性能的開(kāi)源自動(dòng)化構建工具,插件用于打包模塊化、可重用的構建邏輯。具體邏輯可以通過(guò)插件實(shí)現,打包分享給他人使用。例如,Sensors Android全埋插件通過(guò)該插件在編譯時(shí)處理特定功能,從而實(shí)現控制點(diǎn)擊和Fragment頁(yè)面瀏覽的全埋點(diǎn)采集。
  在本文中,我們將首先介紹 Gradle 的基礎知識,然后舉例說(shuō)明如何實(shí)現自定義 Gradle 插件。這里需要注意的是,本文使用 ./gradlew 來(lái)執行 Gradle 命令。如果是Windows用戶(hù),需要改成gradlew.bat。
  二、Gradle 基礎
  Gradle 有兩個(gè)重要的概念:項目和任務(wù)。本節將介紹它們各自的作用以及它們之間的關(guān)系。
  2.1 項目介紹
  Project 是與 Gradle 交互的最重要的 API。我們可以通過(guò)Android Studio的項目結構來(lái)理解Project的含義,如圖2-1所示:
  
  圖2-1 Android Studio項目結構圖
  圖2-1是編寫(xiě)過(guò)程中用到的一個(gè)項目(名為BlogDemo),包括兩個(gè)Modules,app和plugin。無(wú)論是“項目”還是“模塊”,在構建的時(shí)候都會(huì )被 Gradle 抽象成一個(gè) Project 對象。他們的主要關(guān)系是:
  1、Android Studio結構中的一個(gè)項目相當于一個(gè)父項目,一個(gè)項目中的所有Module都是父項目的子項目;
  2、每個(gè)Project都會(huì )對應一個(gè)build.gradle配置文件,所以在使用Android Studio創(chuàng )建項目的時(shí)候,根目錄下有一個(gè)build.gradle文件,每個(gè)Module里面都有一個(gè)build.gradle文件目錄。分級文件;
  3、Gradle 使用 settings.gradle 文件構建多個(gè)項目。項目之間的關(guān)系也可以從圖2-1中看出。
  父Project對象可以獲取所有子Project對象,這樣就可以在父Project對應的build.gradle文件中進(jìn)行一些統一的配置,例如:管理依賴(lài)的Maven中心庫:
  ...allprojects { repositories { google() jcenter() }}...
  2.2 任務(wù)介紹
  Project 在構建過(guò)程中執行一系列任務(wù)。Task的中文翻譯是“任務(wù)”。它的功能其實(shí)就是抽象出一系列有意義的任務(wù)。用 Gradle 的官方說(shuō)法是:每個(gè)任務(wù)都執行一些基本的工作。例如:當您點(diǎn)擊 Android Studio 的 Run 按鈕時(shí),Android Studio 將編譯并運行該項目。其實(shí)這個(gè)過(guò)程是通過(guò)執行一系列Task來(lái)完成的??赡馨ǎ壕幾gJava源碼的Task,編譯Android資源的Task,編譯JNI的Task,混淆的Task,生成Apk文件的Task,運行App的Task等Android Studio的構建輸出,如圖2-2所示:
  
  圖 2-2 Android Studio Build 輸出日志
  從圖右側,我們可以看到Task由兩部分組成:Task所在的Module名稱(chēng)和Task的名稱(chēng)。運行Task時(shí),也需要通過(guò)這種方式指定Task。
  另外,您可以自定義和實(shí)現自己的Task,讓我們創(chuàng )建一個(gè)最簡(jiǎn)單的Task:
  // add to build.gradletask hello { println 'Hello World!'}
  這段代碼的意思是創(chuàng )建一個(gè)名為“hello”的Task。如果要單獨執行Task,可以在A(yíng)ndroid Studio的Terminal中輸入“./gradlew hello”,執行后可以看到控制臺輸出“Hello World!”。
  三、Gradle 插件搭建3.1 插件簡(jiǎn)介
  Plugin 和 Task 在功能上并沒(méi)有太大區別。它們都封裝了一些業(yè)務(wù)邏輯。Plugin適用于打包需要復用的編譯邏輯(即模塊化部分編譯邏輯)。您可以自定義 Gradle 插件,實(shí)現必要的邏輯并將其發(fā)布到遠程存儲庫或作為本地 JAR 包共享。這樣,當你想再次使用或者分享給別人的時(shí)候,可以直接引用遠程倉庫中的包或者引用本地的JAR包。
  最常見(jiàn)的Plugin應該是Android官方提供的Android Gradle Plugin??梢栽陧椖恐鱉odule的build.gradle文件的第一行看到:"apply plugin:
  'com.android.application'",Android Gradle 插件。
  “com.android.application”是指插件id,插件的作用是幫助你生成一個(gè)可運行的APK文件。
  插件還可以讀取 build.gradle 文件中寫(xiě)入的配置。在主Module的build.gradle文件中會(huì )有一個(gè)名為“android”的block,block中定義了一些屬性,比如:App支持的最低系統版本,App的版本號等等在。你可以把這里的“android”塊想象成一個(gè)數據類(lèi)或者基類(lèi),定義的屬性作為類(lèi)的成員變量。Android Gradle Plugin可以在運行時(shí)獲取“android”塊實(shí)例化的對象,然后根據對象的屬性值運行不同的編譯邏輯。
  3.2 用于構建獨立項目的 Gradle 插件
  Gradle 插件的實(shí)現方式有 3 種,分別是 Build script、buildSrc 項目和 Standalone 項目:
  1、構建腳本會(huì )直接在 build.gradle 文件中寫(xiě)入邏輯,Plugin 只對當前的 build.gradle 文件可見(jiàn);
  2、buildSrc項目會(huì )在rootProjectDir/buildSrc/src/main/java(最后路徑文件夾也可以是groovy或者kotlin,看你用什么語(yǔ)言實(shí)現自定義插件)目錄下寫(xiě)邏輯,Plugin只有效對于當前項目;
  3、Standalone project是把邏輯寫(xiě)在一個(gè)獨立的項目里,可以直接編譯發(fā)布JAR包到遠程倉庫或者本地。
  基于寫(xiě)這篇文章的目的,這里我們主要講解Standalone項目,也就是獨立項目的Gradle插件。
  3.2.1 目錄結構分析
  一個(gè)獨立項目的 Gradle 插件的一般結構如圖 3-1 所示:
  
  圖3-1 Gradle插件項目目錄示意圖
  主文件夾分為groovy文件夾和resources文件夾:
  其中,resources文件夾下是固定格式的META-INF/gradle-plugins/XXXX.properties,XXXX代表以后使用插件時(shí)需要指定的插件id。
  目前Android Studio對Gradle插件開(kāi)發(fā)的支持還不夠好。IDE 可以執行的許多任務(wù)需要手動(dòng)完成,例如:
  1、Android Studio不能直接創(chuàng )建Gradle插件的Module,只能先創(chuàng )建Java Library類(lèi)型的Module,然后刪除多余的文件夾;
  2、新類(lèi)默認為新Java類(lèi),新文件名后綴為“.java”。如果要新建一個(gè)Groovy語(yǔ)法類(lèi),需要手動(dòng)新建一個(gè)后綴為“.groovy”的文件,然后添加包、類(lèi)聲明;
  整個(gè)3、resources需要手動(dòng)創(chuàng )建,文件夾名需要拼寫(xiě);
  4、刪除Module的build.gradle的全部?jì)热?,添加Gradle插件和Gradle插件開(kāi)發(fā)所需的依賴(lài)。
  3.2.2 編寫(xiě)插件
  在編寫(xiě)插件的代碼之前,我們需要對 build.gradle 進(jìn)行一些更改,如下所示:
  apply plugin: 'groovy'apply plugin: 'maven'
dependencies { implementation gradleApi() implementation localGroovy()}
uploadArchives{ repositories.mavenDeployer { //本地倉庫路徑,以放到項目根目錄下的 repo 的文件夾為例 repository(url: uri('../repo')) //groupId ,自行定義 pom.groupId = 'com.sensorsdata.myplugin' //artifactId pom.artifactId = 'MyPlugin' //插件版本號 pom.version = '1.0.0' }}
  主要分為三個(gè)部分:
  1、apply plugin:應用'groovy'插件是因為我們的項目是使用Groovy語(yǔ)言開(kāi)發(fā)的,以后發(fā)布插件時(shí)會(huì )用到'maven'插件;
  2、dependencies:聲明依賴(lài);
  3、uploadArchive:這里有一些maven相關(guān)的配置,包括發(fā)布倉庫的位置、groupId、artifactId、版本號。為方便調試,位置選擇在項目根目錄下的repo文件夾中。
  做好以上準備后,就可以開(kāi)始編寫(xiě)源代碼了。Gradle插件要求入口類(lèi)需要實(shí)現org.gradle.api.Plugin接口,然后在實(shí)現方法apply中實(shí)現自己的邏輯:
  package com.sensorsdata.pluginclass MyPlugin implements Plugin{ @Override void apply(Project project) { println 'Hello,World!' }}
  在這里的例子中,apply方法是我們整個(gè)Gradle插件的入口方法,類(lèi)似于各種語(yǔ)言中的main方法。apply方法的輸入參數類(lèi)型Project在第二節已經(jīng)說(shuō)明,這里不再贅述。由于Plugin類(lèi)和Project類(lèi)有很多同名的類(lèi),所以在導入的時(shí)候一定要選擇org.gradle.api包下的類(lèi)。
  最后還需要做一個(gè)準備工作:Gradle插件不會(huì )自動(dòng)查找入口類(lèi),而是需要開(kāi)發(fā)者在resources/META-INF/gradle-plugins/XXXX.properties中寫(xiě)入入口類(lèi)的類(lèi)名。內容格式為“implementation-class=入口類(lèi)的完全限定名”,此處示例工程的配置如下:
  ???????
  // com.sensorsdata.plugin.propertiesimplementation-class=com.sensorsdata.plugin.MyPlugin
  3.2.3 發(fā)布插件
  為插件編寫(xiě)完所有內容后,在終端中執行
  ./gradlew uploadArchive
  可以發(fā)布插件。上一節寫(xiě)插件的build.gradle文件中提前配置了發(fā)布到maven倉庫相關(guān)的配置,所以我們這里執行命令后,項目根目錄下會(huì )出現repo文件夾,文件夾收錄打包的 JAR 文件。
  3.2.4 使用插件
  使用插件有兩個(gè)主要步驟: 查看全部

  自動(dòng)采集編寫(xiě)(
AndroidStudio的Gradle插件含義及構建邏輯的含義和關(guān)系)
  
  一、前言
  在上一篇文章 文章 中,我們了解到 Sensors Android 插件實(shí)際上是一個(gè)自定義的 Gradle 插件。Gradle 是一款專(zhuān)注于靈活性和性能的開(kāi)源自動(dòng)化構建工具,插件用于打包模塊化、可重用的構建邏輯。具體邏輯可以通過(guò)插件實(shí)現,打包分享給他人使用。例如,Sensors Android全埋插件通過(guò)該插件在編譯時(shí)處理特定功能,從而實(shí)現控制點(diǎn)擊和Fragment頁(yè)面瀏覽的全埋點(diǎn)采集。
  在本文中,我們將首先介紹 Gradle 的基礎知識,然后舉例說(shuō)明如何實(shí)現自定義 Gradle 插件。這里需要注意的是,本文使用 ./gradlew 來(lái)執行 Gradle 命令。如果是Windows用戶(hù),需要改成gradlew.bat。
  二、Gradle 基礎
  Gradle 有兩個(gè)重要的概念:項目和任務(wù)。本節將介紹它們各自的作用以及它們之間的關(guān)系。
  2.1 項目介紹
  Project 是與 Gradle 交互的最重要的 API。我們可以通過(guò)Android Studio的項目結構來(lái)理解Project的含義,如圖2-1所示:
  
  圖2-1 Android Studio項目結構圖
  圖2-1是編寫(xiě)過(guò)程中用到的一個(gè)項目(名為BlogDemo),包括兩個(gè)Modules,app和plugin。無(wú)論是“項目”還是“模塊”,在構建的時(shí)候都會(huì )被 Gradle 抽象成一個(gè) Project 對象。他們的主要關(guān)系是:
  1、Android Studio結構中的一個(gè)項目相當于一個(gè)父項目,一個(gè)項目中的所有Module都是父項目的子項目;
  2、每個(gè)Project都會(huì )對應一個(gè)build.gradle配置文件,所以在使用Android Studio創(chuàng )建項目的時(shí)候,根目錄下有一個(gè)build.gradle文件,每個(gè)Module里面都有一個(gè)build.gradle文件目錄。分級文件;
  3、Gradle 使用 settings.gradle 文件構建多個(gè)項目。項目之間的關(guān)系也可以從圖2-1中看出。
  父Project對象可以獲取所有子Project對象,這樣就可以在父Project對應的build.gradle文件中進(jìn)行一些統一的配置,例如:管理依賴(lài)的Maven中心庫:
  ...allprojects { repositories { google() jcenter() }}...
  2.2 任務(wù)介紹
  Project 在構建過(guò)程中執行一系列任務(wù)。Task的中文翻譯是“任務(wù)”。它的功能其實(shí)就是抽象出一系列有意義的任務(wù)。用 Gradle 的官方說(shuō)法是:每個(gè)任務(wù)都執行一些基本的工作。例如:當您點(diǎn)擊 Android Studio 的 Run 按鈕時(shí),Android Studio 將編譯并運行該項目。其實(shí)這個(gè)過(guò)程是通過(guò)執行一系列Task來(lái)完成的??赡馨ǎ壕幾gJava源碼的Task,編譯Android資源的Task,編譯JNI的Task,混淆的Task,生成Apk文件的Task,運行App的Task等Android Studio的構建輸出,如圖2-2所示:
  
  圖 2-2 Android Studio Build 輸出日志
  從圖右側,我們可以看到Task由兩部分組成:Task所在的Module名稱(chēng)和Task的名稱(chēng)。運行Task時(shí),也需要通過(guò)這種方式指定Task。
  另外,您可以自定義和實(shí)現自己的Task,讓我們創(chuàng )建一個(gè)最簡(jiǎn)單的Task:
  // add to build.gradletask hello { println 'Hello World!'}
  這段代碼的意思是創(chuàng )建一個(gè)名為“hello”的Task。如果要單獨執行Task,可以在A(yíng)ndroid Studio的Terminal中輸入“./gradlew hello”,執行后可以看到控制臺輸出“Hello World!”。
  三、Gradle 插件搭建3.1 插件簡(jiǎn)介
  Plugin 和 Task 在功能上并沒(méi)有太大區別。它們都封裝了一些業(yè)務(wù)邏輯。Plugin適用于打包需要復用的編譯邏輯(即模塊化部分編譯邏輯)。您可以自定義 Gradle 插件,實(shí)現必要的邏輯并將其發(fā)布到遠程存儲庫或作為本地 JAR 包共享。這樣,當你想再次使用或者分享給別人的時(shí)候,可以直接引用遠程倉庫中的包或者引用本地的JAR包。
  最常見(jiàn)的Plugin應該是Android官方提供的Android Gradle Plugin??梢栽陧椖恐鱉odule的build.gradle文件的第一行看到:"apply plugin:
  'com.android.application'",Android Gradle 插件。
  “com.android.application”是指插件id,插件的作用是幫助你生成一個(gè)可運行的APK文件。
  插件還可以讀取 build.gradle 文件中寫(xiě)入的配置。在主Module的build.gradle文件中會(huì )有一個(gè)名為“android”的block,block中定義了一些屬性,比如:App支持的最低系統版本,App的版本號等等在。你可以把這里的“android”塊想象成一個(gè)數據類(lèi)或者基類(lèi),定義的屬性作為類(lèi)的成員變量。Android Gradle Plugin可以在運行時(shí)獲取“android”塊實(shí)例化的對象,然后根據對象的屬性值運行不同的編譯邏輯。
  3.2 用于構建獨立項目的 Gradle 插件
  Gradle 插件的實(shí)現方式有 3 種,分別是 Build script、buildSrc 項目和 Standalone 項目:
  1、構建腳本會(huì )直接在 build.gradle 文件中寫(xiě)入邏輯,Plugin 只對當前的 build.gradle 文件可見(jiàn);
  2、buildSrc項目會(huì )在rootProjectDir/buildSrc/src/main/java(最后路徑文件夾也可以是groovy或者kotlin,看你用什么語(yǔ)言實(shí)現自定義插件)目錄下寫(xiě)邏輯,Plugin只有效對于當前項目;
  3、Standalone project是把邏輯寫(xiě)在一個(gè)獨立的項目里,可以直接編譯發(fā)布JAR包到遠程倉庫或者本地。
  基于寫(xiě)這篇文章的目的,這里我們主要講解Standalone項目,也就是獨立項目的Gradle插件。
  3.2.1 目錄結構分析
  一個(gè)獨立項目的 Gradle 插件的一般結構如圖 3-1 所示:
  
  圖3-1 Gradle插件項目目錄示意圖
  主文件夾分為groovy文件夾和resources文件夾:
  其中,resources文件夾下是固定格式的META-INF/gradle-plugins/XXXX.properties,XXXX代表以后使用插件時(shí)需要指定的插件id。
  目前Android Studio對Gradle插件開(kāi)發(fā)的支持還不夠好。IDE 可以執行的許多任務(wù)需要手動(dòng)完成,例如:
  1、Android Studio不能直接創(chuàng )建Gradle插件的Module,只能先創(chuàng )建Java Library類(lèi)型的Module,然后刪除多余的文件夾;
  2、新類(lèi)默認為新Java類(lèi),新文件名后綴為“.java”。如果要新建一個(gè)Groovy語(yǔ)法類(lèi),需要手動(dòng)新建一個(gè)后綴為“.groovy”的文件,然后添加包、類(lèi)聲明;
  整個(gè)3、resources需要手動(dòng)創(chuàng )建,文件夾名需要拼寫(xiě);
  4、刪除Module的build.gradle的全部?jì)热?,添加Gradle插件和Gradle插件開(kāi)發(fā)所需的依賴(lài)。
  3.2.2 編寫(xiě)插件
  在編寫(xiě)插件的代碼之前,我們需要對 build.gradle 進(jìn)行一些更改,如下所示:
  apply plugin: 'groovy'apply plugin: 'maven'
dependencies { implementation gradleApi() implementation localGroovy()}
uploadArchives{ repositories.mavenDeployer { //本地倉庫路徑,以放到項目根目錄下的 repo 的文件夾為例 repository(url: uri('../repo')) //groupId ,自行定義 pom.groupId = 'com.sensorsdata.myplugin' //artifactId pom.artifactId = 'MyPlugin' //插件版本號 pom.version = '1.0.0' }}
  主要分為三個(gè)部分:
  1、apply plugin:應用'groovy'插件是因為我們的項目是使用Groovy語(yǔ)言開(kāi)發(fā)的,以后發(fā)布插件時(shí)會(huì )用到'maven'插件;
  2、dependencies:聲明依賴(lài);
  3、uploadArchive:這里有一些maven相關(guān)的配置,包括發(fā)布倉庫的位置、groupId、artifactId、版本號。為方便調試,位置選擇在項目根目錄下的repo文件夾中。
  做好以上準備后,就可以開(kāi)始編寫(xiě)源代碼了。Gradle插件要求入口類(lèi)需要實(shí)現org.gradle.api.Plugin接口,然后在實(shí)現方法apply中實(shí)現自己的邏輯:
  package com.sensorsdata.pluginclass MyPlugin implements Plugin{ @Override void apply(Project project) { println 'Hello,World!' }}
  在這里的例子中,apply方法是我們整個(gè)Gradle插件的入口方法,類(lèi)似于各種語(yǔ)言中的main方法。apply方法的輸入參數類(lèi)型Project在第二節已經(jīng)說(shuō)明,這里不再贅述。由于Plugin類(lèi)和Project類(lèi)有很多同名的類(lèi),所以在導入的時(shí)候一定要選擇org.gradle.api包下的類(lèi)。
  最后還需要做一個(gè)準備工作:Gradle插件不會(huì )自動(dòng)查找入口類(lèi),而是需要開(kāi)發(fā)者在resources/META-INF/gradle-plugins/XXXX.properties中寫(xiě)入入口類(lèi)的類(lèi)名。內容格式為“implementation-class=入口類(lèi)的完全限定名”,此處示例工程的配置如下:
  ???????
  // com.sensorsdata.plugin.propertiesimplementation-class=com.sensorsdata.plugin.MyPlugin
  3.2.3 發(fā)布插件
  為插件編寫(xiě)完所有內容后,在終端中執行
  ./gradlew uploadArchive
  可以發(fā)布插件。上一節寫(xiě)插件的build.gradle文件中提前配置了發(fā)布到maven倉庫相關(guān)的配置,所以我們這里執行命令后,項目根目錄下會(huì )出現repo文件夾,文件夾收錄打包的 JAR 文件。
  3.2.4 使用插件
  使用插件有兩個(gè)主要步驟:

自動(dòng)采集編寫(xiě)( 如何抓取遠程網(wǎng)頁(yè)?遠程HTML的二進(jìn)制代碼主要語(yǔ)句)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 214 次瀏覽 ? 2022-01-18 21:09 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
如何抓取遠程網(wǎng)頁(yè)?遠程HTML的二進(jìn)制代碼主要語(yǔ)句)
  如何用asp編寫(xiě)網(wǎng)站data采集程序?
  Quote: 如果你想自動(dòng)采集從互聯(lián)網(wǎng)上的數據寫(xiě)入本地數據庫,那么看看這篇文章中描述的方法。為了解決這個(gè)問(wèn)題,作者花了三天時(shí)間,終于成功了。下面是完整的ASP代碼,可以隨心所欲的存儲來(lái)自網(wǎng)上采集的數據,非常實(shí)用!
  一、網(wǎng)站數據采集方法
  目前網(wǎng)站data采集的方法主要有兩種,一種是使用現成的軟件,另一種是編寫(xiě)采集程序。
  1、使用現成的軟件
  很多軟件(如網(wǎng)絡(luò )信息采集master、BK通用信息采集system等)都可以采集在線(xiàn)數據,只要你去百度、谷歌,用“數據< @采集“軟件”搜索關(guān)鍵詞,可以找到?,F在這種軟件很多,都是別人用C、DEPHI或者VB寫(xiě)的,一般都提供免費版你下載試試,雖然他們也可以采集在線(xiàn)數據,但是采集后面的數據要么不能存儲,要么只能存儲前10條記錄;如果你想突破這個(gè)限制,正式版一定要花錢(qián)買(mǎi),作者試了所有的data采集軟件,發(fā)現都是一樣的!
  2、編寫(xiě)自己的 ASP采集 程序
  由于現成的軟件不能免費使用,為了省錢(qián),只能自己寫(xiě)ASP網(wǎng)站data采集程序!以下是程序的代碼,如果你想要免費的采集網(wǎng)站數據,運行它即可。
  二、網(wǎng)站數據采集進(jìn)程
  要編寫(xiě)一個(gè) ASP網(wǎng)站data采集 程序,首先需要抓取遠程網(wǎng)頁(yè)的源代碼。微軟serverXMLHTTP組件可以幫你抓取遠程頁(yè)面的二進(jìn)制代碼,然后將代碼轉換成字符,進(jìn)行截取替換處理,就可以得到想要的數據了;最后,數據顯示或寫(xiě)入數據庫。采集工作完成了。
  三、如何爬取遠程網(wǎng)頁(yè)?
  二進(jìn)制代碼抓取遠程HTML的主要語(yǔ)句如下: 查看全部

  自動(dòng)采集編寫(xiě)(
如何抓取遠程網(wǎng)頁(yè)?遠程HTML的二進(jìn)制代碼主要語(yǔ)句)
  如何用asp編寫(xiě)網(wǎng)站data采集程序?
  Quote: 如果你想自動(dòng)采集從互聯(lián)網(wǎng)上的數據寫(xiě)入本地數據庫,那么看看這篇文章中描述的方法。為了解決這個(gè)問(wèn)題,作者花了三天時(shí)間,終于成功了。下面是完整的ASP代碼,可以隨心所欲的存儲來(lái)自網(wǎng)上采集的數據,非常實(shí)用!
  一、網(wǎng)站數據采集方法
  目前網(wǎng)站data采集的方法主要有兩種,一種是使用現成的軟件,另一種是編寫(xiě)采集程序。
  1、使用現成的軟件
  很多軟件(如網(wǎng)絡(luò )信息采集master、BK通用信息采集system等)都可以采集在線(xiàn)數據,只要你去百度、谷歌,用“數據< @采集“軟件”搜索關(guān)鍵詞,可以找到?,F在這種軟件很多,都是別人用C、DEPHI或者VB寫(xiě)的,一般都提供免費版你下載試試,雖然他們也可以采集在線(xiàn)數據,但是采集后面的數據要么不能存儲,要么只能存儲前10條記錄;如果你想突破這個(gè)限制,正式版一定要花錢(qián)買(mǎi),作者試了所有的data采集軟件,發(fā)現都是一樣的!
  2、編寫(xiě)自己的 ASP采集 程序
  由于現成的軟件不能免費使用,為了省錢(qián),只能自己寫(xiě)ASP網(wǎng)站data采集程序!以下是程序的代碼,如果你想要免費的采集網(wǎng)站數據,運行它即可。
  二、網(wǎng)站數據采集進(jìn)程
  要編寫(xiě)一個(gè) ASP網(wǎng)站data采集 程序,首先需要抓取遠程網(wǎng)頁(yè)的源代碼。微軟serverXMLHTTP組件可以幫你抓取遠程頁(yè)面的二進(jìn)制代碼,然后將代碼轉換成字符,進(jìn)行截取替換處理,就可以得到想要的數據了;最后,數據顯示或寫(xiě)入數據庫。采集工作完成了。
  三、如何爬取遠程網(wǎng)頁(yè)?
  二進(jìn)制代碼抓取遠程HTML的主要語(yǔ)句如下:

自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構第三方sdk)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 165 次瀏覽 ? 2022-01-18 17:02 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構第三方sdk)
  自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構,第三方sdk,如果以上完成,拿到想要的數據不成問(wèn)題,技術(shù)方面稍微懂點(diǎn)點(diǎn)前端,關(guān)注下作者之類(lèi)的就行,只要會(huì )采集,正則、xpath、循環(huán)啥的應該都懂吧,其實(shí)這是我想問(wèn)的,
  不知道你有沒(méi)有寫(xiě)過(guò)完整的mt模塊啊
  好像我前端知識跟他們比不是那么接近。但是可以給你一些建議。你們肯定經(jīng)常涉及后端邏輯的方面吧,或者服務(wù)器方面,可以考慮前端來(lái)把具體的邏輯落地。例如:后端傳來(lái)一個(gè)參數,對應什么操作,
  題主如果自己會(huì )寫(xiě)點(diǎn)server,也會(huì )寫(xiě)一點(diǎn)generator,相信一個(gè)工具就出來(lái)了。
  可以試著(zhù)代理一下,有個(gè)工具叫httpgas歡迎你。
  先給我講下你們的前端架構
  前端工具搜一下就是了,還有很多,
  你想如何自動(dòng)抓???分享?
  寫(xiě)一個(gè)webserver。
  樓主學(xué)習過(guò)一點(diǎn)python嗎?還是會(huì )寫(xiě)點(diǎn)generator???
  這個(gè)要求挺寬泛的
  在業(yè)務(wù)邏輯相同的前提下,盡量不要在網(wǎng)站上實(shí)現一次爬蟲(chóng),因為新的接口會(huì )不兼容舊的頁(yè)面,你可以先去實(shí)現一個(gè)基于http協(xié)議的ui工具,然后再去不斷的更新服務(wù)器。
  等他們學(xué)會(huì )了socket封裝再來(lái)抓。
  自己寫(xiě)點(diǎn)東西這個(gè)口子太大了,很不容易想到。新的抓取工具也做不到。我說(shuō)個(gè)你可以實(shí)現的吧,你搭個(gè)云服務(wù)器,拿到業(yè)務(wù)相關(guān)的url然后把你的json文件上傳給服務(wù)器,這樣全部都抓取就行了,而且抓取很安全。 查看全部

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構第三方sdk)
  自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構,第三方sdk,如果以上完成,拿到想要的數據不成問(wèn)題,技術(shù)方面稍微懂點(diǎn)點(diǎn)前端,關(guān)注下作者之類(lèi)的就行,只要會(huì )采集,正則、xpath、循環(huán)啥的應該都懂吧,其實(shí)這是我想問(wèn)的,
  不知道你有沒(méi)有寫(xiě)過(guò)完整的mt模塊啊
  好像我前端知識跟他們比不是那么接近。但是可以給你一些建議。你們肯定經(jīng)常涉及后端邏輯的方面吧,或者服務(wù)器方面,可以考慮前端來(lái)把具體的邏輯落地。例如:后端傳來(lái)一個(gè)參數,對應什么操作,
  題主如果自己會(huì )寫(xiě)點(diǎn)server,也會(huì )寫(xiě)一點(diǎn)generator,相信一個(gè)工具就出來(lái)了。
  可以試著(zhù)代理一下,有個(gè)工具叫httpgas歡迎你。
  先給我講下你們的前端架構
  前端工具搜一下就是了,還有很多,
  你想如何自動(dòng)抓???分享?
  寫(xiě)一個(gè)webserver。
  樓主學(xué)習過(guò)一點(diǎn)python嗎?還是會(huì )寫(xiě)點(diǎn)generator???
  這個(gè)要求挺寬泛的
  在業(yè)務(wù)邏輯相同的前提下,盡量不要在網(wǎng)站上實(shí)現一次爬蟲(chóng),因為新的接口會(huì )不兼容舊的頁(yè)面,你可以先去實(shí)現一個(gè)基于http協(xié)議的ui工具,然后再去不斷的更新服務(wù)器。
  等他們學(xué)會(huì )了socket封裝再來(lái)抓。
  自己寫(xiě)點(diǎn)東西這個(gè)口子太大了,很不容易想到。新的抓取工具也做不到。我說(shuō)個(gè)你可以實(shí)現的吧,你搭個(gè)云服務(wù)器,拿到業(yè)務(wù)相關(guān)的url然后把你的json文件上傳給服務(wù)器,這樣全部都抓取就行了,而且抓取很安全。

自動(dòng)采集編寫(xiě)(java版的話(huà)你可以參考一下對象嗎?)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 156 次瀏覽 ? 2022-01-17 15:02 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(java版的話(huà)你可以參考一下對象嗎?)
  自動(dòng)采集編寫(xiě)一個(gè)xmlhttprequest對象將main函數的腳本和所有的操作發(fā)送到實(shí)際的pageserver中。另外在頁(yè)面開(kāi)始時(shí)注冊beforecreate,并在整個(gè)流程執行結束時(shí)注銷(xiāo)。注意:注冊的beforecreate并不會(huì )對頁(yè)面造成影響,它只會(huì )根據url來(lái)創(chuàng )建對應的session對象。使用標簽創(chuàng )建實(shí)際的session對象1.使用itextsize屬性來(lái)設置標簽內容的寬度2.在內容中加入longtemplate的內容3.longtemplate.insertcount不能省略4.cookie中綁定session對象是一個(gè)單向鏈表5.session.getsession()方法不能省略。在java中使用到:...關(guān)注我的公眾號:瘋狂c4d小編在等你哦。
  使用setlocal方法
  某些頁(yè)面禁止訪(fǎng)問(wèn)用。java有個(gè)getsession,urlslistsession數據,還可以看其他人的java源碼學(xué)習一下。
  main函數的腳本放在sessionfactory中,然后做標記好每個(gè)頁(yè)面處理到哪一個(gè)session后,自動(dòng)啟動(dòng)web服務(wù)器,從所有session中獲取數據來(lái)處理。
  java版的話(huà)你可以參考一下springautoconfiguration,寫(xiě)android相當好用。ui就用theme里面的內置ui吧,
  注冊一個(gè)會(huì )話(huà),然后獲取web端的會(huì )話(huà)對象,發(fā)送到服務(wù)器上,服務(wù)器響應,
  就連我們的私房菜(二維碼自動(dòng)識別)都在nodejs中跑起來(lái)了, 查看全部

  自動(dòng)采集編寫(xiě)(java版的話(huà)你可以參考一下對象嗎?)
  自動(dòng)采集編寫(xiě)一個(gè)xmlhttprequest對象將main函數的腳本和所有的操作發(fā)送到實(shí)際的pageserver中。另外在頁(yè)面開(kāi)始時(shí)注冊beforecreate,并在整個(gè)流程執行結束時(shí)注銷(xiāo)。注意:注冊的beforecreate并不會(huì )對頁(yè)面造成影響,它只會(huì )根據url來(lái)創(chuàng )建對應的session對象。使用標簽創(chuàng )建實(shí)際的session對象1.使用itextsize屬性來(lái)設置標簽內容的寬度2.在內容中加入longtemplate的內容3.longtemplate.insertcount不能省略4.cookie中綁定session對象是一個(gè)單向鏈表5.session.getsession()方法不能省略。在java中使用到:...關(guān)注我的公眾號:瘋狂c4d小編在等你哦。
  使用setlocal方法
  某些頁(yè)面禁止訪(fǎng)問(wèn)用。java有個(gè)getsession,urlslistsession數據,還可以看其他人的java源碼學(xué)習一下。
  main函數的腳本放在sessionfactory中,然后做標記好每個(gè)頁(yè)面處理到哪一個(gè)session后,自動(dòng)啟動(dòng)web服務(wù)器,從所有session中獲取數據來(lái)處理。
  java版的話(huà)你可以參考一下springautoconfiguration,寫(xiě)android相當好用。ui就用theme里面的內置ui吧,
  注冊一個(gè)會(huì )話(huà),然后獲取web端的會(huì )話(huà)對象,發(fā)送到服務(wù)器上,服務(wù)器響應,
  就連我們的私房菜(二維碼自動(dòng)識別)都在nodejs中跑起來(lái)了,

自動(dòng)采集編寫(xiě)(看來(lái)在jQuery插件中的編寫(xiě)文檔正適合你)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 148 次瀏覽 ? 2022-01-16 18:07 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(看來(lái)在jQuery插件中的編寫(xiě)文檔正適合你)
  看起來(lái)您對 jQuery 的使用很感興趣,并且想學(xué)習如何編寫(xiě)自己的插件。很好,這份文件是為你準備的。使用插件和方法擴展 jQuery 非常強大,將最智能的功能封裝到插件中可以為您和您的團隊節省大量的開(kāi)發(fā)時(shí)間。
  開(kāi)始
  寫(xiě)一個(gè)jQuery插件,需要在jQuery.fn對象中添加一個(gè)新的函數屬性,屬性名就是插件的名字
  jQuery.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  等一下!我知道和喜愛(ài)的美元在哪里?它仍然存在,只是為了確保您的插件不與使用 $ 的其他庫沖突,有一個(gè)最佳實(shí)踐:將 jQuery 傳遞給 IIFE(立即調用的函數)并將其映射到 $ ,這樣可以避免執行被其他庫覆蓋范圍內。
 ?。ê瘮担?){
  $.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  })(jQuery);
  嗯,這更好?,F在,在這個(gè)閉包中,我們可以隨意用 $ 替換 jQuery。
  語(yǔ)境
  現在外殼已經(jīng)到位,是時(shí)候開(kāi)始編寫(xiě)實(shí)際的插件代碼了。但在此之前,關(guān)于上下文,我有話(huà)要說(shuō)。在插件函數的直接作用域中,關(guān)鍵字 this 指的是調用插件的 jQuery 對象。這是一個(gè)經(jīng)常出錯的地方,因為在某些情況下 jQuery 接受一個(gè)回調函數,其中 this 引用本地 DOM 元素。這通常會(huì )導致開(kāi)發(fā)人員不必要地在 jQuery 函數中再次包裝 this 關(guān)鍵字。
  (函數($){
  $.fn.myPlugin = function() {
  // 不需要再次執行 $(this),因為 "this" 已經(jīng)是一個(gè) jQuery 對象
  // $(this) 和 $($('#element')) 一樣
  this.fadeIn('正常', function(){
  // 這里 this 關(guān)鍵字指向 DOM 元素
  });
  };
  })(jQuery);
  $('#element').myPlugin();
  根據
  現在我們了解了 jQuery 插件的上下文,讓我們編寫(xiě)一個(gè)實(shí)際做某事的插件。
  (函數($){
  $.fn.maxHeight = 函數() {
  變量最大值 = 0;
  這個(gè)每個(gè)(函數(){
  最大值 = Math.max( 最大值,$(this).height() );
  });
  返回最大值;
  };
  })(jQuery);
  --
  var 最高 = $('div').maxHeight(); // 返回最高 div 的高度
  這個(gè)簡(jiǎn)單的插件利用 .height() 返回頁(yè)面中最高 div 的高度
  保持可鏈接性
  前面的示例返回頁(yè)面上最高 div 的整數值,但很多時(shí)候插件只是以某種方式修改元素集并將它們傳遞給調用鏈中的下一個(gè)方法。這就是 jQuery 設計的美妙之處,也是它如此受歡迎的原因之一。為了保持插件的可鏈接性,必須確保插件返回 this 關(guān)鍵字。
  (函數($){
  $.fn.lockDimensions = 函數(類(lèi)型){
  返回 this.each(function() {
  var $this = $(this);
  if ( !type || type == 'width' ) {
  $this.width($this.width());
  }
  if ( !type || type == 'height' ) {
  $this.height($this.height());
  }
  });
  };
  })(jQuery);
  --
  $('div').lockDimensions('width').css('color', 'red');
  該插件在直接作用域內返回 this 關(guān)鍵字,保持可鏈接性,因此 jQuery 集合可以通過(guò)其他方法進(jìn)行操作,例如 .css()。因此,如果插件不需要真正的返回值,則應始終在插件函數的直接范圍內返回 this 關(guān)鍵字。此外,正如您所料,調用插件時(shí)的參數被傳遞到插件函數的直接作用域中。在上面的例子中,字符串“width”成為插件函數的類(lèi)型參數。
  默認設置和選項
  對于提供許多選項的更復雜、可配置的插件,最佳實(shí)踐是提供一個(gè)可以在調用插件時(shí)擴展(通過(guò) $.extend )的默認設置。這樣在調用插件的時(shí)候就不需要很多參數了,只需要一個(gè)對象參數,內容就是你想要與默認值不同的部分設置。方法如下:
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 創(chuàng )建一些默認值,使用提供的任何選項擴展它們
  var 設置 = $.extend( {
  “位置”:“頂部”,
  “背景色”:“藍色”
  }, 選項);
  返回 this.each(function() {
  // 這里是工具提示插件代碼
  });
  };
  })(jQuery);
  --
  $('div').tooltip({
  “位置”:“左”
  });
  在此示例中,使用給定選項調用工具提示插件后,默認位置設置被覆蓋為“左”,但背景顏色設置仍為默認“藍色”。最終設置對象如下所示:
  {
  '位置' : '左',
  “背景色”:“藍色”
  }
  這是提供高度可配置插件的好方法,無(wú)需強制開(kāi)發(fā)人員定義所有選項。
  命名空間
  為插件正確定義命名空間是插件開(kāi)發(fā)的重要部分。正確定義命名空間可確保您的插件很難被同一頁(yè)面上的其他插件或其他代碼覆蓋。命名空間還可以讓插件開(kāi)發(fā)人員的生活更輕松,因為它們可以幫助您跟蹤您的方法、事件和數據。
  插件方法
  一個(gè)插件不應該在 jQuery.fn 對象中聲明多個(gè)命名空間
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 這
  };
  $.fn.tooltipShow = 函數(){
  // 不
  };
  $.fn.tooltipHide = 函數(){
  // 好的
  };
  $.fn.tooltipUpdate = 功能(內容){
  //!!!
  };
  })(jQuery);
  這非常糟糕,因為它弄亂了 $.fn 命名空間。要解決此問(wèn)題,您應該將所有插件方法采集到一個(gè)對象定義中,并通過(guò)傳遞方法名稱(chēng)字符串來(lái)調用它。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  // 這
  },
  顯示:函數(){
  // 非常
  },
  隱藏:函數(){
  // 好的
  },
  更新:功能(內容){
  //!!!
  }
  };
  $.fn.tooltip = 函數(方法){
  // 方法調用邏輯
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  // 調用初始化方法
  $('div').tooltip();
  // 調用初始化方法
  $('div').tooltip({
  富:'酒吧'
  });
  --
  // 調用隱藏方法
  $('div').tooltip('hide');
  --
  // 調用更新方法
  $('div').tooltip('update', '這是新的提示內容!');
  這種插件架構允許你將所有方法封裝在插件的父閉包中,調用時(shí)傳遞方法名字符串,然后將你需要的其他參數傳遞給方法。這種封裝和架構是 jQuery 插件社區的標準,并已被無(wú)數插件使用,包括 jQueryUI 中的插件和小部件。
  事件
  bind 方法有一個(gè)鮮為人知的特性:它支持為綁定事件定義命名空間。如果你的插件要綁定事件,最好為它定義一個(gè)命名空間。這樣,當您返回 unbind 時(shí),它不會(huì )影響同一事件類(lèi)型上的其他綁定事件。要為事件定義命名空間,請附加“.”。到要綁定的事件類(lèi)型。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  $(window).bind('resize.tooltip', methods.reposition);
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  $(window).unbind('.tooltip');
  })
  },
  重新定位:函數(){
  // ...
  },
  顯示:函數(){
  // ...
  },
  隱藏:函數(){
  // ...
  },
  更新:功能(內容){
  // ...
  }
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  --
  $('#fun').tooltip();
  // 一段時(shí)間之后...
  $('#fun').tooltip('destroy');
  在這個(gè)例子中,當 tooltip 被 init 方法初始化時(shí),它會(huì )將 reposition 方法綁定到命名空間為“tooltip”的窗口對象的 resize 事件上。之后,如果開(kāi)發(fā)者想要銷(xiāo)毀該對象,可以將插件的命名空間(即“tooltip”)傳遞給unbind方法,解除插件所有事件的綁定。這使我們可以安全地從該插件中解除綁定事件,并避免意外影響綁定在插件之外的事件。
  數據
  在插件開(kāi)發(fā)期間,您可能經(jīng)常需要維護狀態(tài),或檢查您的插件是否已在給定元素上初始化。jQuerydata 方法是跟蹤每個(gè)元素的變量的好方法。但是最好有一個(gè)對象來(lái)保存所有變量并使用單個(gè)命名空間訪(fǎng)問(wèn)該對象,而不是跟蹤一堆具有不同名稱(chēng)的數據。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip'),
  工具提示 = $('
  ', {
  文本:$this.attr('title')
  });
  // 如果插件還沒(méi)有初始化
  如果(!數據){
  /*
  在這里做更多的設置
  */
  $(this).data('tooltip', {
  目標:$這個(gè),
  工具提示:工具提示
  });
  }
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip');
  // 命名空間 FTW
  $(window).unbind('.tooltip');
  數據.tooltip.remove();
  $this.removeData('tooltip');
  })
  },
  重新定位:函數(){ // ... },
  顯示:函數(){ // ... },
  隱藏:函數(){ // ... },
  更新:函數(內容){ // ...}
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  data 方法可幫助您跟蹤插件的多個(gè)方法調用之間的變量和狀態(tài)。將數據放在單個(gè)對象中并為其定義命名空間有助于集中訪(fǎng)問(wèn)插件的所有屬性,同時(shí)還可以在需要時(shí)減少命名空間以供刪除。
  摘要和最佳實(shí)踐
  編寫(xiě) jQuery 插件使庫更高效。將您最聰明和最有用的功能抽象為可重用代碼將節省您的時(shí)間并進(jìn)一步提高開(kāi)發(fā)效率。以下是本文檔的簡(jiǎn)短摘要以及開(kāi)發(fā)下一個(gè) jQuery 插件時(shí)要記住的事項:
  始終將插件包裝在閉包中 { /* 插件放在這里 */ })( jQuery );
  不要在插件函數的直接范圍內另外包裝這個(gè)關(guān)鍵字
  始終使插件函數返回 this 關(guān)鍵字以保持可鏈接性,除非插件具有真正的返回值。
  您應該傳遞一個(gè)可以覆蓋插件默認選項的設置對象,而不是向插件傳遞大量參數。
  不要在一個(gè)插件中使用多個(gè)命名空間來(lái)使 jQuery.fn 對象混亂。
  始終為方法、事件和數據定義命名空間。
  --------------------- 查看全部

  自動(dòng)采集編寫(xiě)(看來(lái)在jQuery插件中的編寫(xiě)文檔正適合你)
  看起來(lái)您對 jQuery 的使用很感興趣,并且想學(xué)習如何編寫(xiě)自己的插件。很好,這份文件是為你準備的。使用插件和方法擴展 jQuery 非常強大,將最智能的功能封裝到插件中可以為您和您的團隊節省大量的開(kāi)發(fā)時(shí)間。
  開(kāi)始
  寫(xiě)一個(gè)jQuery插件,需要在jQuery.fn對象中添加一個(gè)新的函數屬性,屬性名就是插件的名字
  jQuery.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  等一下!我知道和喜愛(ài)的美元在哪里?它仍然存在,只是為了確保您的插件不與使用 $ 的其他庫沖突,有一個(gè)最佳實(shí)踐:將 jQuery 傳遞給 IIFE(立即調用的函數)并將其映射到 $ ,這樣可以避免執行被其他庫覆蓋范圍內。
 ?。ê瘮担?){
  $.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  })(jQuery);
  嗯,這更好?,F在,在這個(gè)閉包中,我們可以隨意用 $ 替換 jQuery。
  語(yǔ)境
  現在外殼已經(jīng)到位,是時(shí)候開(kāi)始編寫(xiě)實(shí)際的插件代碼了。但在此之前,關(guān)于上下文,我有話(huà)要說(shuō)。在插件函數的直接作用域中,關(guān)鍵字 this 指的是調用插件的 jQuery 對象。這是一個(gè)經(jīng)常出錯的地方,因為在某些情況下 jQuery 接受一個(gè)回調函數,其中 this 引用本地 DOM 元素。這通常會(huì )導致開(kāi)發(fā)人員不必要地在 jQuery 函數中再次包裝 this 關(guān)鍵字。
  (函數($){
  $.fn.myPlugin = function() {
  // 不需要再次執行 $(this),因為 "this" 已經(jīng)是一個(gè) jQuery 對象
  // $(this) 和 $($('#element')) 一樣
  this.fadeIn('正常', function(){
  // 這里 this 關(guān)鍵字指向 DOM 元素
  });
  };
  })(jQuery);
  $('#element').myPlugin();
  根據
  現在我們了解了 jQuery 插件的上下文,讓我們編寫(xiě)一個(gè)實(shí)際做某事的插件。
  (函數($){
  $.fn.maxHeight = 函數() {
  變量最大值 = 0;
  這個(gè)每個(gè)(函數(){
  最大值 = Math.max( 最大值,$(this).height() );
  });
  返回最大值;
  };
  })(jQuery);
  --
  var 最高 = $('div').maxHeight(); // 返回最高 div 的高度
  這個(gè)簡(jiǎn)單的插件利用 .height() 返回頁(yè)面中最高 div 的高度
  保持可鏈接性
  前面的示例返回頁(yè)面上最高 div 的整數值,但很多時(shí)候插件只是以某種方式修改元素集并將它們傳遞給調用鏈中的下一個(gè)方法。這就是 jQuery 設計的美妙之處,也是它如此受歡迎的原因之一。為了保持插件的可鏈接性,必須確保插件返回 this 關(guān)鍵字。
  (函數($){
  $.fn.lockDimensions = 函數(類(lèi)型){
  返回 this.each(function() {
  var $this = $(this);
  if ( !type || type == 'width' ) {
  $this.width($this.width());
  }
  if ( !type || type == 'height' ) {
  $this.height($this.height());
  }
  });
  };
  })(jQuery);
  --
  $('div').lockDimensions('width').css('color', 'red');
  該插件在直接作用域內返回 this 關(guān)鍵字,保持可鏈接性,因此 jQuery 集合可以通過(guò)其他方法進(jìn)行操作,例如 .css()。因此,如果插件不需要真正的返回值,則應始終在插件函數的直接范圍內返回 this 關(guān)鍵字。此外,正如您所料,調用插件時(shí)的參數被傳遞到插件函數的直接作用域中。在上面的例子中,字符串“width”成為插件函數的類(lèi)型參數。
  默認設置和選項
  對于提供許多選項的更復雜、可配置的插件,最佳實(shí)踐是提供一個(gè)可以在調用插件時(shí)擴展(通過(guò) $.extend )的默認設置。這樣在調用插件的時(shí)候就不需要很多參數了,只需要一個(gè)對象參數,內容就是你想要與默認值不同的部分設置。方法如下:
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 創(chuàng )建一些默認值,使用提供的任何選項擴展它們
  var 設置 = $.extend( {
  “位置”:“頂部”,
  “背景色”:“藍色”
  }, 選項);
  返回 this.each(function() {
  // 這里是工具提示插件代碼
  });
  };
  })(jQuery);
  --
  $('div').tooltip({
  “位置”:“左”
  });
  在此示例中,使用給定選項調用工具提示插件后,默認位置設置被覆蓋為“左”,但背景顏色設置仍為默認“藍色”。最終設置對象如下所示:
  {
  '位置' : '左',
  “背景色”:“藍色”
  }
  這是提供高度可配置插件的好方法,無(wú)需強制開(kāi)發(fā)人員定義所有選項。
  命名空間
  為插件正確定義命名空間是插件開(kāi)發(fā)的重要部分。正確定義命名空間可確保您的插件很難被同一頁(yè)面上的其他插件或其他代碼覆蓋。命名空間還可以讓插件開(kāi)發(fā)人員的生活更輕松,因為它們可以幫助您跟蹤您的方法、事件和數據。
  插件方法
  一個(gè)插件不應該在 jQuery.fn 對象中聲明多個(gè)命名空間
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 這
  };
  $.fn.tooltipShow = 函數(){
  // 不
  };
  $.fn.tooltipHide = 函數(){
  // 好的
  };
  $.fn.tooltipUpdate = 功能(內容){
  //!!!
  };
  })(jQuery);
  這非常糟糕,因為它弄亂了 $.fn 命名空間。要解決此問(wèn)題,您應該將所有插件方法采集到一個(gè)對象定義中,并通過(guò)傳遞方法名稱(chēng)字符串來(lái)調用它。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  // 這
  },
  顯示:函數(){
  // 非常
  },
  隱藏:函數(){
  // 好的
  },
  更新:功能(內容){
  //!!!
  }
  };
  $.fn.tooltip = 函數(方法){
  // 方法調用邏輯
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  // 調用初始化方法
  $('div').tooltip();
  // 調用初始化方法
  $('div').tooltip({
  富:'酒吧'
  });
  --
  // 調用隱藏方法
  $('div').tooltip('hide');
  --
  // 調用更新方法
  $('div').tooltip('update', '這是新的提示內容!');
  這種插件架構允許你將所有方法封裝在插件的父閉包中,調用時(shí)傳遞方法名字符串,然后將你需要的其他參數傳遞給方法。這種封裝和架構是 jQuery 插件社區的標準,并已被無(wú)數插件使用,包括 jQueryUI 中的插件和小部件。
  事件
  bind 方法有一個(gè)鮮為人知的特性:它支持為綁定事件定義命名空間。如果你的插件要綁定事件,最好為它定義一個(gè)命名空間。這樣,當您返回 unbind 時(shí),它不會(huì )影響同一事件類(lèi)型上的其他綁定事件。要為事件定義命名空間,請附加“.”。到要綁定的事件類(lèi)型。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  $(window).bind('resize.tooltip', methods.reposition);
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  $(window).unbind('.tooltip');
  })
  },
  重新定位:函數(){
  // ...
  },
  顯示:函數(){
  // ...
  },
  隱藏:函數(){
  // ...
  },
  更新:功能(內容){
  // ...
  }
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  --
  $('#fun').tooltip();
  // 一段時(shí)間之后...
  $('#fun').tooltip('destroy');
  在這個(gè)例子中,當 tooltip 被 init 方法初始化時(shí),它會(huì )將 reposition 方法綁定到命名空間為“tooltip”的窗口對象的 resize 事件上。之后,如果開(kāi)發(fā)者想要銷(xiāo)毀該對象,可以將插件的命名空間(即“tooltip”)傳遞給unbind方法,解除插件所有事件的綁定。這使我們可以安全地從該插件中解除綁定事件,并避免意外影響綁定在插件之外的事件。
  數據
  在插件開(kāi)發(fā)期間,您可能經(jīng)常需要維護狀態(tài),或檢查您的插件是否已在給定元素上初始化。jQuerydata 方法是跟蹤每個(gè)元素的變量的好方法。但是最好有一個(gè)對象來(lái)保存所有變量并使用單個(gè)命名空間訪(fǎng)問(wèn)該對象,而不是跟蹤一堆具有不同名稱(chēng)的數據。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip'),
  工具提示 = $('
  ', {
  文本:$this.attr('title')
  });
  // 如果插件還沒(méi)有初始化
  如果(!數據){
  /*
  在這里做更多的設置
  */
  $(this).data('tooltip', {
  目標:$這個(gè),
  工具提示:工具提示
  });
  }
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip');
  // 命名空間 FTW
  $(window).unbind('.tooltip');
  數據.tooltip.remove();
  $this.removeData('tooltip');
  })
  },
  重新定位:函數(){ // ... },
  顯示:函數(){ // ... },
  隱藏:函數(){ // ... },
  更新:函數(內容){ // ...}
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  data 方法可幫助您跟蹤插件的多個(gè)方法調用之間的變量和狀態(tài)。將數據放在單個(gè)對象中并為其定義命名空間有助于集中訪(fǎng)問(wèn)插件的所有屬性,同時(shí)還可以在需要時(shí)減少命名空間以供刪除。
  摘要和最佳實(shí)踐
  編寫(xiě) jQuery 插件使庫更高效。將您最聰明和最有用的功能抽象為可重用代碼將節省您的時(shí)間并進(jìn)一步提高開(kāi)發(fā)效率。以下是本文檔的簡(jiǎn)短摘要以及開(kāi)發(fā)下一個(gè) jQuery 插件時(shí)要記住的事項:
  始終將插件包裝在閉包中 { /* 插件放在這里 */ })( jQuery );
  不要在插件函數的直接范圍內另外包裝這個(gè)關(guān)鍵字
  始終使插件函數返回 this 關(guān)鍵字以保持可鏈接性,除非插件具有真正的返回值。
  您應該傳遞一個(gè)可以覆蓋插件默認選項的設置對象,而不是向插件傳遞大量參數。
  不要在一個(gè)插件中使用多個(gè)命名空間來(lái)使 jQuery.fn 對象混亂。
  始終為方法、事件和數據定義命名空間。
  ---------------------

自動(dòng)采集編寫(xiě)(SpringBoot做個(gè)入門(mén)到精通系列(二)入門(mén)程序(一))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 178 次瀏覽 ? 2022-01-15 22:06 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(SpringBoot做個(gè)入門(mén)到精通系列(二)入門(mén)程序(一))
  SpringBoot入門(mén)大師系列
  前言
  經(jīng)過(guò)以上的學(xué)習,我們已經(jīng)掌握了Spring的注解編程。有了這個(gè)基礎之后,我們就可以輕松學(xué)習 Spring Boot,因為 Spring Boot 是基于 Spring 的注解編程開(kāi)發(fā)的。接下來(lái)正式開(kāi)始SpringBoot部分部分的學(xué)習,我們先做一個(gè)入門(mén)程序。
  三.SpringBoot 啟動(dòng)器
  我們來(lái)玩個(gè)入門(mén)案例,用SpringBoot寫(xiě)一個(gè)簡(jiǎn)單的WEB程序,用瀏覽器訪(fǎng)問(wèn)后臺返回一個(gè)“Hello Spring Boot”。那么讓我想一想,如果我使用SpringMVC來(lái)做這個(gè)案例,我需要做什么呢?
  創(chuàng )建一個(gè)web項目(打包成war),導入很多spirng相關(guān)、SpringMVC相關(guān)、Jackson相關(guān)、log相關(guān)等jar包。 web.xml中的配置:前端控制器DispatcherServlet;編碼過(guò)濾器;配置上下文參數(指定Spring的xml配置文件地址)等編寫(xiě)SpringMVC的xml配置文件,然后在里面配置一堆東西寫(xiě)Controller,寫(xiě)方法
  總之,用SpringMVC寫(xiě)這個(gè)web程序是很麻煩的,那么我們來(lái)看看使用SpirngBoot的區別
  1.構建 HelloWorld
  可以參考構建,也可以按照以下步驟構建
  1.1.創(chuàng )建項目
  注意,創(chuàng )建項目時(shí),選擇skeleton并選擇quickstart(普通jar項目都可以),當然也可以不選擇skeleton,默認是普通java項目。簡(jiǎn)而言之,不要創(chuàng )建 webapp 項目(這是為什么呢??)
  
  1.2.導入相關(guān)依賴(lài)
  
jar
org.springframework.boot
spring-boot-starter-parent
2.2.5.RELEASE

org.springframework.boot
spring-boot-starter-web

  spring-boot-starter-parent是SpringBoot提供的一個(gè)項目,spring-boot-starter-web是SpringBoot集成SpringMVC的依賴(lài)。此刻你可能有些疑惑,我稍后會(huì )解釋?zhuān)灰薄?br />   1.3.創(chuàng )建配置類(lèi)
  配置類(lèi)也是啟動(dòng)類(lèi),最多粘貼@SpringBootApplication,提供main方法啟動(dòng)應用
  @SpringBootApplication
public class ApplicationConfig {
public static void main(String[] args) {
//啟動(dòng)程序
SpringApplication.run(ApplicationConfig.class);
}
}
  1.4.寫(xiě)控制器
  @RestController
public class HelloController {

@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot";
}
}
  代碼就寫(xiě)到這里了,項目結構如下
  
  1.5.開(kāi)始Main方法測試
  控制臺啟動(dòng)效果
  
  默認端口為8080,使用瀏覽器訪(fǎng)問(wèn):8080/hello,效果如下
  
  我們從一開(kāi)始就知道 SpringBoot 是用來(lái)簡(jiǎn)化 Spring 應用的構建和開(kāi)發(fā)的。使用 SpringBoot 之后,確實(shí)簡(jiǎn)單很多,集成速度也快很多。但簡(jiǎn)單的背后意味著(zhù)復雜的封裝。
  2.HelloWorld 分析
  完成以上案例后,相信你也看到了測試效果。這一刻,你可能很多東西都不明白,比如:為什么在pom.xml中只需要導入一個(gè)jar包,為什么web項目使用pingtong java項目的結構;為什么不需要 web.xml;使用main方法啟動(dòng)程序等等。讓我們一一解答
  2.1.pom.xml分析
  pom中有3點(diǎn)需要講
  打包方式:jar使用spring-boot-starter-parent項目導入spring-boot-starter-web依賴(lài)包
  【重要】對于SpringBoot,即使是WEB項目的開(kāi)發(fā),也是采用普通java項目的結構。打包方式默認使用jar,不再需要WEB-INF/web.xml等結構。當然SpringBoot也可以使用war來(lái)打包項目,這個(gè)我們后面會(huì )講到。
  在Java中可以看作是extends。繼承父項目后,可以使用項目中的依賴(lài)。對于spring-boot-starter-parent,該項目是SpringBoot的父項目,提供基礎依賴(lài)和插件管理。進(jìn)入spring-boot-starter-parent的pom.xml,可以看到它使用了
  繼承了一個(gè)spring-boot-dependencies項目,如下(ctrl+左鍵):
  
org.springframework.boot

spring-boot-dependencies
2.2.5.RELEASE
../../spring-boot-dependencies

spring-boot-starter-parent
pom
Spring Boot Starter Parent
Parent pom providing dependency and plugin management for applications
built with Maven
https://projects.spring.io/spr ... arent

UTF-8

1.8
@
${java.version}
UTF-8
${java.version}

  可以看到,spring-boot-starter-parent繼承了spring-boot-dependencies,其打包方式為
  pom
  ,默認JDK版本為1.8,我們可以在自己項目的pom.xml中通過(guò)1.7修改JDK版本。
  真正管理依賴(lài)的其實(shí)是spring-boot-dependencies,安裝ctrl點(diǎn)擊進(jìn)去可以看到項目的
  很多很多版本都在它的dependencyManagement中管理,很多很多基礎依賴(lài)在它的dependencyManagement中管理,很多插件在它的pluginManagement中管理。
  簡(jiǎn)而言之:【重要】如果要使用SpringBoot,需要通過(guò)
  繼承spring-boot-starter-parent,父項目為我們管理了很多依賴(lài)和插件。如果我們要使用依賴(lài),只需要在自己項目的pom中引入即可,無(wú)需指定版本號。因為SpringBoot已經(jīng)幫我們管理了版本號。比如我們要導入一個(gè)測試包,在我們自己項目的pom.xml中導入就行了
  
junit
junit
  不需要導入版本號,因為父項目已經(jīng)托管,除非你想更改默認版本。
  在導入spring-boot-starter-web的時(shí)候,我們也指定了版本號??梢韵胂?,依賴(lài)是由spring-boot-starter-parent來(lái)管理的,那么依賴(lài)的作用是什么呢? 顧名思義,就是SpringBoot與WEB環(huán)境集成的依賴(lài)。我們可以打開(kāi)依賴(lài)的結構來(lái)看看
  
  【重要】可以看到一個(gè)spring-boot-starter-web導入了很多其他的依賴(lài),比如:Spring的基礎依賴(lài),SpringMVC的基礎依賴(lài),Jackson的基礎依賴(lài),日志基礎依賴(lài),Tomcat的依賴(lài),自動(dòng)配置依賴(lài),所以這個(gè) spring-boot-starter-web 導入了集成 web 環(huán)境所需的所有依賴(lài)項。你好像明白了什么?
  【重要】順便回答一個(gè)問(wèn)題:為什么不需要部署Tomcat?因為spring-boot-starter-web已經(jīng)導入了一個(gè)tomcat(SpringBoot嵌入式Tomcat),當我們啟動(dòng)main方法的時(shí)候,底層會(huì )啟動(dòng)嵌入式Tomcat,不再需要自己部署。
  2.2.啟動(dòng)類(lèi)分析
  我們來(lái)分析一下啟動(dòng)類(lèi),也就是配置類(lèi)。在學(xué)習Spring的Java Config之前,我們說(shuō)過(guò)用一個(gè)Java類(lèi)來(lái)代替Spring的xml配置作為配置文件,而SpringBoot使用的是Spring的Java Config配置。所以我們剛才的ApplicationConfig是一個(gè)配置類(lèi),它提供了一個(gè)main方法來(lái)啟動(dòng)項目,所以它也是一個(gè)啟動(dòng)類(lèi)。有兩點(diǎn)需要分析
  注解:@SpringBootApplication 啟動(dòng):SpringApplication.run(ApplicationConfig.class)
  @SpringBootApplication 是 SpringBoot 提供的復合注解。它由三個(gè)注釋組成。源碼如下
  //配置注解,該注解上又貼了一個(gè) @Configuration
@SpringBootConfiguration
//開(kāi)啟自動(dòng)配置
@EnableAutoConfiguration
//Spring IOC自動(dòng)掃描
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
@AliasFor(
annotation = EnableAutoConfiguration.class
)
Class[] exclude() default {};
@AliasFor(
annotation = EnableAutoConfiguration.class
)
String[] excludeName() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackages"
)
String[] scanBasePackages() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackageClasses"
)
Class[] scanBasePackageClasses() default {};
@AliasFor(
annotation = Configuration.class
)
boolean proxyBeanMethods() default true;
}
  【重要】@SpringBootApplication 收錄三個(gè)注解
  【重要】也就是說(shuō)標注@SpringBootApplication注解的類(lèi)是一個(gè)Spring配置類(lèi),它還具有自動(dòng)掃描IOC的能力,同時(shí)開(kāi)啟了SpringBoot的自動(dòng)配置能力。
  對于main方法中的SpringApplication.run,我們知道它的作用是啟動(dòng)程序。該方法會(huì )初始化SpringBoot環(huán)境,創(chuàng )建AnnotationConfigApplicationContext作為Spring的IOC容器類(lèi),然后執行容器類(lèi)的刷新方法。刷新。加載bean、注冊bean、實(shí)例化bean、自動(dòng)配置、啟動(dòng)嵌入式Tomcat都在這個(gè)方法中。具體細節后面會(huì )講,這里再講。
  2.3.小擴展
  dependencyManagement 和依賴(lài)項
  我們在SpringBoot的父項目中看到了dependencyManagement元素,那么這個(gè)元素中的依賴(lài)和放在dependencies中的依賴(lài)有什么區別呢?放在dependencies中的依賴(lài)可以直接使用。放置在dependencyManagement 中的依賴(lài)項僅用于聲明或管理。依賴(lài)不能直接使用,需要在依賴(lài)中引入才能使用。
  依賴(lài)管理有什么意義?它的意思是管理版本。通常在父項目中使用dependencyManagement來(lái)管理依賴(lài),在子項目中導入依賴(lài),然后導入不需要版本號,因為版本號交給父項目管理。 SpringBoot 就是這樣做的。
  包裝是jar和war的區別
  我們需要在pom中指定
  罐子
  標記項目的打包類(lèi)型,可以指定四種類(lèi)型
  3.項目結構知識
  SpringBoot項目的標準結構如下
  
  代碼存放在java目錄下,resources目錄包括
  4.創(chuàng )建項目的三種方式
  下面介紹幾種創(chuàng )建SpringBoot項目的方法。第一種是手動(dòng)創(chuàng )建,我們剛才已經(jīng)演示過(guò)了,第二種是使用Spring官方提供的快捷方式網(wǎng)站
  
  通過(guò)網(wǎng)站可以直接配置項目屬性,添加依賴(lài),然后點(diǎn)擊generate生成項目,網(wǎng)站會(huì )下載一個(gè)基本的SpringBoot項目。
  第三個(gè)是通過(guò)IDEA的Spring Initializr創(chuàng )建的,如下
  
  配置項目
  
  選擇需要的jar包
  
  點(diǎn)擊下一步,項目創(chuàng )建成功
  5.SpringBoot 特性總結
  根據上面的Hello分析,我們可以總結出SpringBoot的一些特點(diǎn)
  一個(gè)字,酷,但缺點(diǎn)是封裝太深,需要花很多精力去了解它的封裝過(guò)程。
  文章就在這里,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊。 查看全部

  自動(dòng)采集編寫(xiě)(SpringBoot做個(gè)入門(mén)到精通系列(二)入門(mén)程序(一))
  SpringBoot入門(mén)大師系列
  前言
  經(jīng)過(guò)以上的學(xué)習,我們已經(jīng)掌握了Spring的注解編程。有了這個(gè)基礎之后,我們就可以輕松學(xué)習 Spring Boot,因為 Spring Boot 是基于 Spring 的注解編程開(kāi)發(fā)的。接下來(lái)正式開(kāi)始SpringBoot部分部分的學(xué)習,我們先做一個(gè)入門(mén)程序。
  三.SpringBoot 啟動(dòng)器
  我們來(lái)玩個(gè)入門(mén)案例,用SpringBoot寫(xiě)一個(gè)簡(jiǎn)單的WEB程序,用瀏覽器訪(fǎng)問(wèn)后臺返回一個(gè)“Hello Spring Boot”。那么讓我想一想,如果我使用SpringMVC來(lái)做這個(gè)案例,我需要做什么呢?
  創(chuàng )建一個(gè)web項目(打包成war),導入很多spirng相關(guān)、SpringMVC相關(guān)、Jackson相關(guān)、log相關(guān)等jar包。 web.xml中的配置:前端控制器DispatcherServlet;編碼過(guò)濾器;配置上下文參數(指定Spring的xml配置文件地址)等編寫(xiě)SpringMVC的xml配置文件,然后在里面配置一堆東西寫(xiě)Controller,寫(xiě)方法
  總之,用SpringMVC寫(xiě)這個(gè)web程序是很麻煩的,那么我們來(lái)看看使用SpirngBoot的區別
  1.構建 HelloWorld
  可以參考構建,也可以按照以下步驟構建
  1.1.創(chuàng )建項目
  注意,創(chuàng )建項目時(shí),選擇skeleton并選擇quickstart(普通jar項目都可以),當然也可以不選擇skeleton,默認是普通java項目。簡(jiǎn)而言之,不要創(chuàng )建 webapp 項目(這是為什么呢??)
  
  1.2.導入相關(guān)依賴(lài)
  
jar
org.springframework.boot
spring-boot-starter-parent
2.2.5.RELEASE

org.springframework.boot
spring-boot-starter-web

  spring-boot-starter-parent是SpringBoot提供的一個(gè)項目,spring-boot-starter-web是SpringBoot集成SpringMVC的依賴(lài)。此刻你可能有些疑惑,我稍后會(huì )解釋?zhuān)灰薄?br />   1.3.創(chuàng )建配置類(lèi)
  配置類(lèi)也是啟動(dòng)類(lèi),最多粘貼@SpringBootApplication,提供main方法啟動(dòng)應用
  @SpringBootApplication
public class ApplicationConfig {
public static void main(String[] args) {
//啟動(dòng)程序
SpringApplication.run(ApplicationConfig.class);
}
}
  1.4.寫(xiě)控制器
  @RestController
public class HelloController {

@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot";
}
}
  代碼就寫(xiě)到這里了,項目結構如下
  
  1.5.開(kāi)始Main方法測試
  控制臺啟動(dòng)效果
  
  默認端口為8080,使用瀏覽器訪(fǎng)問(wèn):8080/hello,效果如下
  
  我們從一開(kāi)始就知道 SpringBoot 是用來(lái)簡(jiǎn)化 Spring 應用的構建和開(kāi)發(fā)的。使用 SpringBoot 之后,確實(shí)簡(jiǎn)單很多,集成速度也快很多。但簡(jiǎn)單的背后意味著(zhù)復雜的封裝。
  2.HelloWorld 分析
  完成以上案例后,相信你也看到了測試效果。這一刻,你可能很多東西都不明白,比如:為什么在pom.xml中只需要導入一個(gè)jar包,為什么web項目使用pingtong java項目的結構;為什么不需要 web.xml;使用main方法啟動(dòng)程序等等。讓我們一一解答
  2.1.pom.xml分析
  pom中有3點(diǎn)需要講
  打包方式:jar使用spring-boot-starter-parent項目導入spring-boot-starter-web依賴(lài)包
  【重要】對于SpringBoot,即使是WEB項目的開(kāi)發(fā),也是采用普通java項目的結構。打包方式默認使用jar,不再需要WEB-INF/web.xml等結構。當然SpringBoot也可以使用war來(lái)打包項目,這個(gè)我們后面會(huì )講到。
  在Java中可以看作是extends。繼承父項目后,可以使用項目中的依賴(lài)。對于spring-boot-starter-parent,該項目是SpringBoot的父項目,提供基礎依賴(lài)和插件管理。進(jìn)入spring-boot-starter-parent的pom.xml,可以看到它使用了
  繼承了一個(gè)spring-boot-dependencies項目,如下(ctrl+左鍵):
  
org.springframework.boot

spring-boot-dependencies
2.2.5.RELEASE
../../spring-boot-dependencies

spring-boot-starter-parent
pom
Spring Boot Starter Parent
Parent pom providing dependency and plugin management for applications
built with Maven
https://projects.spring.io/spr ... arent

UTF-8

1.8
@
${java.version}
UTF-8
${java.version}

  可以看到,spring-boot-starter-parent繼承了spring-boot-dependencies,其打包方式為
  pom
  ,默認JDK版本為1.8,我們可以在自己項目的pom.xml中通過(guò)1.7修改JDK版本。
  真正管理依賴(lài)的其實(shí)是spring-boot-dependencies,安裝ctrl點(diǎn)擊進(jìn)去可以看到項目的
  很多很多版本都在它的dependencyManagement中管理,很多很多基礎依賴(lài)在它的dependencyManagement中管理,很多插件在它的pluginManagement中管理。
  簡(jiǎn)而言之:【重要】如果要使用SpringBoot,需要通過(guò)
  繼承spring-boot-starter-parent,父項目為我們管理了很多依賴(lài)和插件。如果我們要使用依賴(lài),只需要在自己項目的pom中引入即可,無(wú)需指定版本號。因為SpringBoot已經(jīng)幫我們管理了版本號。比如我們要導入一個(gè)測試包,在我們自己項目的pom.xml中導入就行了
  
junit
junit
  不需要導入版本號,因為父項目已經(jīng)托管,除非你想更改默認版本。
  在導入spring-boot-starter-web的時(shí)候,我們也指定了版本號??梢韵胂?,依賴(lài)是由spring-boot-starter-parent來(lái)管理的,那么依賴(lài)的作用是什么呢? 顧名思義,就是SpringBoot與WEB環(huán)境集成的依賴(lài)。我們可以打開(kāi)依賴(lài)的結構來(lái)看看
  
  【重要】可以看到一個(gè)spring-boot-starter-web導入了很多其他的依賴(lài),比如:Spring的基礎依賴(lài),SpringMVC的基礎依賴(lài),Jackson的基礎依賴(lài),日志基礎依賴(lài),Tomcat的依賴(lài),自動(dòng)配置依賴(lài),所以這個(gè) spring-boot-starter-web 導入了集成 web 環(huán)境所需的所有依賴(lài)項。你好像明白了什么?
  【重要】順便回答一個(gè)問(wèn)題:為什么不需要部署Tomcat?因為spring-boot-starter-web已經(jīng)導入了一個(gè)tomcat(SpringBoot嵌入式Tomcat),當我們啟動(dòng)main方法的時(shí)候,底層會(huì )啟動(dòng)嵌入式Tomcat,不再需要自己部署。
  2.2.啟動(dòng)類(lèi)分析
  我們來(lái)分析一下啟動(dòng)類(lèi),也就是配置類(lèi)。在學(xué)習Spring的Java Config之前,我們說(shuō)過(guò)用一個(gè)Java類(lèi)來(lái)代替Spring的xml配置作為配置文件,而SpringBoot使用的是Spring的Java Config配置。所以我們剛才的ApplicationConfig是一個(gè)配置類(lèi),它提供了一個(gè)main方法來(lái)啟動(dòng)項目,所以它也是一個(gè)啟動(dòng)類(lèi)。有兩點(diǎn)需要分析
  注解:@SpringBootApplication 啟動(dòng):SpringApplication.run(ApplicationConfig.class)
  @SpringBootApplication 是 SpringBoot 提供的復合注解。它由三個(gè)注釋組成。源碼如下
  //配置注解,該注解上又貼了一個(gè) @Configuration
@SpringBootConfiguration
//開(kāi)啟自動(dòng)配置
@EnableAutoConfiguration
//Spring IOC自動(dòng)掃描
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
@AliasFor(
annotation = EnableAutoConfiguration.class
)
Class[] exclude() default {};
@AliasFor(
annotation = EnableAutoConfiguration.class
)
String[] excludeName() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackages"
)
String[] scanBasePackages() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackageClasses"
)
Class[] scanBasePackageClasses() default {};
@AliasFor(
annotation = Configuration.class
)
boolean proxyBeanMethods() default true;
}
  【重要】@SpringBootApplication 收錄三個(gè)注解
  【重要】也就是說(shuō)標注@SpringBootApplication注解的類(lèi)是一個(gè)Spring配置類(lèi),它還具有自動(dòng)掃描IOC的能力,同時(shí)開(kāi)啟了SpringBoot的自動(dòng)配置能力。
  對于main方法中的SpringApplication.run,我們知道它的作用是啟動(dòng)程序。該方法會(huì )初始化SpringBoot環(huán)境,創(chuàng )建AnnotationConfigApplicationContext作為Spring的IOC容器類(lèi),然后執行容器類(lèi)的刷新方法。刷新。加載bean、注冊bean、實(shí)例化bean、自動(dòng)配置、啟動(dòng)嵌入式Tomcat都在這個(gè)方法中。具體細節后面會(huì )講,這里再講。
  2.3.小擴展
  dependencyManagement 和依賴(lài)項
  我們在SpringBoot的父項目中看到了dependencyManagement元素,那么這個(gè)元素中的依賴(lài)和放在dependencies中的依賴(lài)有什么區別呢?放在dependencies中的依賴(lài)可以直接使用。放置在dependencyManagement 中的依賴(lài)項僅用于聲明或管理。依賴(lài)不能直接使用,需要在依賴(lài)中引入才能使用。
  依賴(lài)管理有什么意義?它的意思是管理版本。通常在父項目中使用dependencyManagement來(lái)管理依賴(lài),在子項目中導入依賴(lài),然后導入不需要版本號,因為版本號交給父項目管理。 SpringBoot 就是這樣做的。
  包裝是jar和war的區別
  我們需要在pom中指定
  罐子
  標記項目的打包類(lèi)型,可以指定四種類(lèi)型
  3.項目結構知識
  SpringBoot項目的標準結構如下
  
  代碼存放在java目錄下,resources目錄包括
  4.創(chuàng )建項目的三種方式
  下面介紹幾種創(chuàng )建SpringBoot項目的方法。第一種是手動(dòng)創(chuàng )建,我們剛才已經(jīng)演示過(guò)了,第二種是使用Spring官方提供的快捷方式網(wǎng)站
  
  通過(guò)網(wǎng)站可以直接配置項目屬性,添加依賴(lài),然后點(diǎn)擊generate生成項目,網(wǎng)站會(huì )下載一個(gè)基本的SpringBoot項目。
  第三個(gè)是通過(guò)IDEA的Spring Initializr創(chuàng )建的,如下
  
  配置項目
  
  選擇需要的jar包
  
  點(diǎn)擊下一步,項目創(chuàng )建成功
  5.SpringBoot 特性總結
  根據上面的Hello分析,我們可以總結出SpringBoot的一些特點(diǎn)
  一個(gè)字,酷,但缺點(diǎn)是封裝太深,需要花很多精力去了解它的封裝過(guò)程。
  文章就在這里,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊。

自動(dòng)采集編寫(xiě)(油田注水自動(dòng)采集監控報警系統(AutoMon,IWMon))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 165 次瀏覽 ? 2022-01-13 02:28 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(油田注水自動(dòng)采集監控報警系統(AutoMon,IWMon))
  油田注水自動(dòng)采集監測報警系統(AutoMon,IWMon)一、產(chǎn)品概述“油田注水自動(dòng)采集監測報警系統”是自主研發(fā),基于一套大型關(guān)系型數據庫 Oracle 油田注水井信息自動(dòng)采集監測軟件系統。它利用Internet/Intranet網(wǎng)絡(luò )系統,采用Web方式,實(shí)現油田注水井的自動(dòng)采集實(shí)時(shí)信息,監測各種生產(chǎn)參數,診斷異常并實(shí)時(shí)報警。各級用戶(hù)只需打開(kāi)網(wǎng)頁(yè)瀏覽器,即可在辦公室動(dòng)態(tài)查看各種自動(dòng)匯總報表數據。系統通過(guò)報表和曲線(xiàn)直觀(guān)、直觀(guān)地呈現注水井數據和注水狀態(tài)。二、軟件主要功能系統可通過(guò)服務(wù)器控制,自動(dòng)采集數據,每日定時(shí)采集可從系統獲取注水井相關(guān)信息。通過(guò)現場(chǎng)數據采集儀器,通過(guò)遠程傳輸系統將實(shí)時(shí)注水數據發(fā)送到基地服務(wù)器。2、報警信息自動(dòng)生成及處理過(guò)程 系統對獲取的注水井生產(chǎn)信息進(jìn)行自動(dòng)分析處理。一旦發(fā)現參數異常變化,立即生成報警內容,并將報警信息自動(dòng)發(fā)送給相關(guān)管理人員。3、報警信息展示 報警信息以樹(shù)狀結構呈現給管理員。點(diǎn)擊查看時(shí),會(huì )為用戶(hù)呈現當前注入井最近一段時(shí)間的生產(chǎn)數據和圖表,以便用戶(hù)判斷該井的生產(chǎn)是否真的屬于異常。4、自動(dòng)生成匯總統計報表系統提供了便捷的統計報表生成功能。用戶(hù)只需幾個(gè)操作即可生成復雜多樣的報告。5、注水參數變化曲線(xiàn)顯示6、注水系統遠程控制三、軟件主要特點(diǎn)< @1、靈活的實(shí)時(shí)數據采集接口2、實(shí)時(shí)異常信息報警注水井的異常報警信息可以通過(guò)多種方式實(shí)時(shí)傳達給管理人員,所以第一時(shí)間掌握注水井生產(chǎn)狀況等重要信息,對異常情況及時(shí)作出反應和處理。3、完全基于web的系統實(shí)現4、強大的數據分析功能強大的數據分析和深度挖掘能力,結合先進(jìn)的Web圖形技術(shù),可以顯示注水狀態(tài)最細微的變化,從而是管理注水項目的最佳方式。人員提供最直接的生產(chǎn)依據5、基于角色的權限控制6、 查看全部

  自動(dòng)采集編寫(xiě)(油田注水自動(dòng)采集監控報警系統(AutoMon,IWMon))
  油田注水自動(dòng)采集監測報警系統(AutoMon,IWMon)一、產(chǎn)品概述“油田注水自動(dòng)采集監測報警系統”是自主研發(fā),基于一套大型關(guān)系型數據庫 Oracle 油田注水井信息自動(dòng)采集監測軟件系統。它利用Internet/Intranet網(wǎng)絡(luò )系統,采用Web方式,實(shí)現油田注水井的自動(dòng)采集實(shí)時(shí)信息,監測各種生產(chǎn)參數,診斷異常并實(shí)時(shí)報警。各級用戶(hù)只需打開(kāi)網(wǎng)頁(yè)瀏覽器,即可在辦公室動(dòng)態(tài)查看各種自動(dòng)匯總報表數據。系統通過(guò)報表和曲線(xiàn)直觀(guān)、直觀(guān)地呈現注水井數據和注水狀態(tài)。二、軟件主要功能系統可通過(guò)服務(wù)器控制,自動(dòng)采集數據,每日定時(shí)采集可從系統獲取注水井相關(guān)信息。通過(guò)現場(chǎng)數據采集儀器,通過(guò)遠程傳輸系統將實(shí)時(shí)注水數據發(fā)送到基地服務(wù)器。2、報警信息自動(dòng)生成及處理過(guò)程 系統對獲取的注水井生產(chǎn)信息進(jìn)行自動(dòng)分析處理。一旦發(fā)現參數異常變化,立即生成報警內容,并將報警信息自動(dòng)發(fā)送給相關(guān)管理人員。3、報警信息展示 報警信息以樹(shù)狀結構呈現給管理員。點(diǎn)擊查看時(shí),會(huì )為用戶(hù)呈現當前注入井最近一段時(shí)間的生產(chǎn)數據和圖表,以便用戶(hù)判斷該井的生產(chǎn)是否真的屬于異常。4、自動(dòng)生成匯總統計報表系統提供了便捷的統計報表生成功能。用戶(hù)只需幾個(gè)操作即可生成復雜多樣的報告。5、注水參數變化曲線(xiàn)顯示6、注水系統遠程控制三、軟件主要特點(diǎn)< @1、靈活的實(shí)時(shí)數據采集接口2、實(shí)時(shí)異常信息報警注水井的異常報警信息可以通過(guò)多種方式實(shí)時(shí)傳達給管理人員,所以第一時(shí)間掌握注水井生產(chǎn)狀況等重要信息,對異常情況及時(shí)作出反應和處理。3、完全基于web的系統實(shí)現4、強大的數據分析功能強大的數據分析和深度挖掘能力,結合先進(jìn)的Web圖形技術(shù),可以顯示注水狀態(tài)最細微的變化,從而是管理注水項目的最佳方式。人員提供最直接的生產(chǎn)依據5、基于角色的權限控制6、

自動(dòng)采集編寫(xiě)(DedeCMSV5.6版自動(dòng)采集功能規則使用基本知識講解教程(1))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 152 次瀏覽 ? 2022-01-09 07:21 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(DedeCMSV5.6版自動(dòng)采集功能規則使用基本知識講解教程(1))
  另一種簡(jiǎn)單的說(shuō)法就是程序化、系統化、自動(dòng)化和智能化 CTRL+C CTRL+V Dedecms 采集這個(gè)功能是早期加入的。過(guò)去一般是添加網(wǎng)站的內容。通過(guò)復制、粘貼、編輯然后發(fā)布,少量的文章就可以了,但是如果對于一個(gè)新站點(diǎn)根本什么都沒(méi)有,那么你需要復制粘貼大量的文章,這是一個(gè)重復無(wú)聊的過(guò)程,內容采集就是為了解決這個(gè)問(wèn)題,把這個(gè)重復的操作簡(jiǎn)化成規則,通過(guò)規則進(jìn)行批量操作。當然,采集也可以用一些特殊的采集器來(lái)采集,中國大名鼎鼎的采集器有一個(gè)機車(chē)。今天,我們將使用Dedecms自帶的采集功能
  首先我們進(jìn)入系統后臺,打開(kāi)[采集]-[采集節點(diǎn)管理],在學(xué)習使用這個(gè)采集功能之前先介紹一些基本的技術(shù)知識。首先,我們需要了解 HTML 的基本內容。我們知道,瀏覽器中顯示的各種頁(yè)面,其實(shí)都是由最基本的 HTML 組成的。我們可以在我們的 Dedecms 系統后臺發(fā)布一個(gè)內容,然后對上面的內容做一些格式化。也就是說(shuō),我們的頁(yè)面是在瀏覽器解析HTML代碼后顯示的。這些基本的HTML代碼是給機器看的,解析出來(lái)的內容是給我們的用戶(hù)看的。機器實(shí)際上是一個(gè)死的東西。不像用戶(hù)看網(wǎng)頁(yè),他直接看到的是某個(gè)部分的內容,機器能看到的就是代碼的某個(gè)部分。德德< 作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。
  以及 HTML 代碼以什么結尾;@采集的規則,有了這些規則之后,采集其實(shí)就是一件很簡(jiǎn)單的事情了。采集的一般步驟主要包括以下步驟: 制作采集規則列表,這里的設置主要告訴服務(wù)器你采集是什么內容,一般是采集的列表頁(yè)面@>網(wǎng)站; 制定內容采集規則:這里告訴服務(wù)器你采集頁(yè)面的內容在頁(yè)面的哪個(gè)部分,一般是采集網(wǎng)站的內容頁(yè)面;采集 生成后的HTML頁(yè)面代碼;我們也可以清楚的看到采集最關(guān)鍵的也是前2步,這兩步是決定采集內容成功與否是一個(gè)重要環(huán)節,有一個(gè)地方< @采集
<p>(第一部分結束)下面結合例子來(lái)說(shuō)明如何使用Dedecms的采集程序來(lái)獲取采集頁(yè)面信息。我們看一下打開(kāi)的采集節點(diǎn)管理頁(yè)面:我們把整個(gè)采集規則和內容變成一個(gè)節點(diǎn),通過(guò)管理節點(diǎn)就可以輕松方便地管理我們的采集規則還有采集內容來(lái)管理,當然采集規則也可以導出,我們只需要選擇對應的采集節點(diǎn),然后點(diǎn)擊【導出配置】,我們就可以指定采集 規則被導出并與所有人共享。當然,獲取節點(diǎn)規則后,也可以通過(guò)系統的【導入采集規則】將采集規則導入系統,方便采集的管理 節點(diǎn),我們也可以查看采集規則。該節點(diǎn)當前采集的內容信息,如采集的日期、創(chuàng )建節點(diǎn)的日期、獲取的url個(gè)數等,都是 查看全部

  自動(dòng)采集編寫(xiě)(DedeCMSV5.6版自動(dòng)采集功能規則使用基本知識講解教程(1))
  另一種簡(jiǎn)單的說(shuō)法就是程序化、系統化、自動(dòng)化和智能化 CTRL+C CTRL+V Dedecms 采集這個(gè)功能是早期加入的。過(guò)去一般是添加網(wǎng)站的內容。通過(guò)復制、粘貼、編輯然后發(fā)布,少量的文章就可以了,但是如果對于一個(gè)新站點(diǎn)根本什么都沒(méi)有,那么你需要復制粘貼大量的文章,這是一個(gè)重復無(wú)聊的過(guò)程,內容采集就是為了解決這個(gè)問(wèn)題,把這個(gè)重復的操作簡(jiǎn)化成規則,通過(guò)規則進(jìn)行批量操作。當然,采集也可以用一些特殊的采集器來(lái)采集,中國大名鼎鼎的采集器有一個(gè)機車(chē)。今天,我們將使用Dedecms自帶的采集功能
  首先我們進(jìn)入系統后臺,打開(kāi)[采集]-[采集節點(diǎn)管理],在學(xué)習使用這個(gè)采集功能之前先介紹一些基本的技術(shù)知識。首先,我們需要了解 HTML 的基本內容。我們知道,瀏覽器中顯示的各種頁(yè)面,其實(shí)都是由最基本的 HTML 組成的。我們可以在我們的 Dedecms 系統后臺發(fā)布一個(gè)內容,然后對上面的內容做一些格式化。也就是說(shuō),我們的頁(yè)面是在瀏覽器解析HTML代碼后顯示的。這些基本的HTML代碼是給機器看的,解析出來(lái)的內容是給我們的用戶(hù)看的。機器實(shí)際上是一個(gè)死的東西。不像用戶(hù)看網(wǎng)頁(yè),他直接看到的是某個(gè)部分的內容,機器能看到的就是代碼的某個(gè)部分。德德&lt; 作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。
  以及 HTML 代碼以什么結尾;@采集的規則,有了這些規則之后,采集其實(shí)就是一件很簡(jiǎn)單的事情了。采集的一般步驟主要包括以下步驟: 制作采集規則列表,這里的設置主要告訴服務(wù)器你采集是什么內容,一般是采集的列表頁(yè)面@>網(wǎng)站; 制定內容采集規則:這里告訴服務(wù)器你采集頁(yè)面的內容在頁(yè)面的哪個(gè)部分,一般是采集網(wǎng)站的內容頁(yè)面;采集 生成后的HTML頁(yè)面代碼;我們也可以清楚的看到采集最關(guān)鍵的也是前2步,這兩步是決定采集內容成功與否是一個(gè)重要環(huán)節,有一個(gè)地方&lt; @采集
<p>(第一部分結束)下面結合例子來(lái)說(shuō)明如何使用Dedecms的采集程序來(lái)獲取采集頁(yè)面信息。我們看一下打開(kāi)的采集節點(diǎn)管理頁(yè)面:我們把整個(gè)采集規則和內容變成一個(gè)節點(diǎn),通過(guò)管理節點(diǎn)就可以輕松方便地管理我們的采集規則還有采集內容來(lái)管理,當然采集規則也可以導出,我們只需要選擇對應的采集節點(diǎn),然后點(diǎn)擊【導出配置】,我們就可以指定采集 規則被導出并與所有人共享。當然,獲取節點(diǎn)規則后,也可以通過(guò)系統的【導入采集規則】將采集規則導入系統,方便采集的管理 節點(diǎn),我們也可以查看采集規則。該節點(diǎn)當前采集的內容信息,如采集的日期、創(chuàng )建節點(diǎn)的日期、獲取的url個(gè)數等,都是

自動(dòng)采集編寫(xiě)(站長(cháng)快車(chē)采集器v4.0更新內容:更新的內容與發(fā)布程序)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 163 次瀏覽 ? 2022-01-08 17:17 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(站長(cháng)快車(chē)采集器v4.0更新內容:更新的內容與發(fā)布程序)
  站長(cháng)速遞是針對各大主流文章系統、論壇系統等的多線(xiàn)程會(huì )員注冊、內容采集和發(fā)布程序。使用站長(cháng)速遞,你可以瞬間搭建一個(gè)網(wǎng)站內容并迅速提高論壇的知名度。其豐富的規則模板和靈活的自定義模塊可適用于各種內容發(fā)布系統。系統收錄自定義規則采集、智能采集、批量會(huì )員注冊、批量發(fā)帖和轉帖等多項功能。在系統界面,您可以直接管理內容數據庫,實(shí)時(shí)瀏覽,可視化修改,輸入SQL命令運行操作,批量替換操作。軟件中的優(yōu)化功能讓你更得心應手,它可以生成標簽關(guān)鍵詞,刪除重復記錄、非法關(guān)鍵詞過(guò)濾、同義詞替換等可以讓你的采集返回數據變成原創(chuàng ),更有利于SEO搜索引擎優(yōu)化。從現在開(kāi)始,您可以?huà)仐夁^(guò)去重復且繁瑣的手動(dòng)添加工作。
  站長(cháng)速遞 采集器 v4.0 更新內容:
  1、為目標網(wǎng)站添加智能采集,只需填寫(xiě)目標網(wǎng)站欄頁(yè)地址或直接輸入內容頁(yè)地址即可自動(dòng)采集對應內容。不再需要編寫(xiě)任何采集規則采集。
  2、修改了關(guān)鍵詞的智能采集。只需從百度、google、搜狗、雅虎等各大搜索引擎輸入關(guān)鍵詞到采集到相應的新聞內容或博客文章。
  3、新增自動(dòng)獲取照片功能關(guān)鍵詞和熱門(mén)關(guān)鍵詞。
  4、智能采集測試工具已添加到菜單工具欄中。輸入任何頁(yè)面 URL 以自動(dòng)提取標題、時(shí)間和正文內容。
  5、修復線(xiàn)程過(guò)多導致的軟件假死。
  6、修復了軟件中的一些bug 查看全部

  自動(dòng)采集編寫(xiě)(站長(cháng)快車(chē)采集器v4.0更新內容:更新的內容與發(fā)布程序)
  站長(cháng)速遞是針對各大主流文章系統、論壇系統等的多線(xiàn)程會(huì )員注冊、內容采集和發(fā)布程序。使用站長(cháng)速遞,你可以瞬間搭建一個(gè)網(wǎng)站內容并迅速提高論壇的知名度。其豐富的規則模板和靈活的自定義模塊可適用于各種內容發(fā)布系統。系統收錄自定義規則采集、智能采集、批量會(huì )員注冊、批量發(fā)帖和轉帖等多項功能。在系統界面,您可以直接管理內容數據庫,實(shí)時(shí)瀏覽,可視化修改,輸入SQL命令運行操作,批量替換操作。軟件中的優(yōu)化功能讓你更得心應手,它可以生成標簽關(guān)鍵詞,刪除重復記錄、非法關(guān)鍵詞過(guò)濾、同義詞替換等可以讓你的采集返回數據變成原創(chuàng ),更有利于SEO搜索引擎優(yōu)化。從現在開(kāi)始,您可以?huà)仐夁^(guò)去重復且繁瑣的手動(dòng)添加工作。
  站長(cháng)速遞 采集器 v4.0 更新內容:
  1、為目標網(wǎng)站添加智能采集,只需填寫(xiě)目標網(wǎng)站欄頁(yè)地址或直接輸入內容頁(yè)地址即可自動(dòng)采集對應內容。不再需要編寫(xiě)任何采集規則采集。
  2、修改了關(guān)鍵詞的智能采集。只需從百度、google、搜狗、雅虎等各大搜索引擎輸入關(guān)鍵詞到采集到相應的新聞內容或博客文章。
  3、新增自動(dòng)獲取照片功能關(guān)鍵詞和熱門(mén)關(guān)鍵詞。
  4、智能采集測試工具已添加到菜單工具欄中。輸入任何頁(yè)面 URL 以自動(dòng)提取標題、時(shí)間和正文內容。
  5、修復線(xiàn)程過(guò)多導致的軟件假死。
  6、修復了軟件中的一些bug

自動(dòng)采集編寫(xiě)( 帝國CMS發(fā)布具有哪些功能特性以及如何配置SEO優(yōu)化? )

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 172 次瀏覽 ? 2022-01-08 16:01 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
帝國CMS發(fā)布具有哪些功能特性以及如何配置SEO優(yōu)化?
)
  
  帝國cms發(fā)布,顛覆了之前的cms發(fā)布功能,不僅發(fā)布,發(fā)布時(shí)還添加了SEO優(yōu)化功能,同時(shí)擁有采集和偽原創(chuàng ),讓網(wǎng)站內容更新實(shí)現一站式自動(dòng)批量采集偽原創(chuàng )發(fā)布。無(wú)論是采集還是偽原創(chuàng )還是發(fā)布,每個(gè)功能都加入了SEO優(yōu)化,每一步我們一步步做SEO優(yōu)化,做到穩定。最新的 Empire cms 版本本質(zhì)上是一個(gè)集成了很多功能的 網(wǎng)站 批處理管理工具。無(wú)論采集的內容有多少,都可以自動(dòng)針對SEO進(jìn)行優(yōu)化,然后進(jìn)行量化量化。會(huì )自動(dòng)發(fā)布到 網(wǎng)站。在&lt;的優(yōu)化過(guò)程中 @網(wǎng)站建設網(wǎng)站,站長(cháng)有Empirecms發(fā)布的支持,定性提高工作效率和工作效果。這樣一來(lái),小編制作的帝國cms網(wǎng)站無(wú)論是收錄,排名還是權重,效果都還不錯,而且是純粹的采集車(chē)站。
  
  Imperialcms 版本有哪些功能以及如何配置SEO優(yōu)化:
  首先是操作極其簡(jiǎn)單,是最簡(jiǎn)單最極致的,不需要寫(xiě)任何發(fā)布規則。整個(gè)發(fā)布設置界面只需要點(diǎn)擊按鈕填寫(xiě)現有域名信息即可。具體流程如下: 1.填寫(xiě)域名、后臺登錄路徑和管理員賬號密碼,關(guān)閉驗證碼登錄。2.選擇cms的類(lèi)型和監控文件夾。特點(diǎn)是通過(guò)監控文件夾,只要文件夾中有新文件,就可以自動(dòng)發(fā)布到網(wǎng)站。自動(dòng)排版以使內容看起來(lái)更好。3.設置發(fā)布時(shí)間和數量。這樣做的好處是 網(wǎng)站 更新是定期的。對于搜索引擎,一個(gè)常規的&lt; @網(wǎng)站 更受青睞。4.設置發(fā)布的文章自動(dòng)將相關(guān)的關(guān)鍵詞插入到標題中,文章控制插入的頻率。這不是疊加關(guān)鍵詞,而是讓網(wǎng)站相關(guān)關(guān)鍵詞出現的頻率在一個(gè)標準范圍內,對SEO優(yōu)化有很大幫助網(wǎng)站收錄和 關(guān)鍵詞 排名。5.設置隨機圖片插入、隨機點(diǎn)贊、閱讀量、作者數,讓用戶(hù)進(jìn)入你的網(wǎng)站看到的內容會(huì )更生動(dòng),更直觀(guān)將您的 網(wǎng)站 信息傳遞給用戶(hù)。6.點(diǎn)擊選擇自動(dòng)推送,每發(fā)表一篇文章文章都可以主動(dòng)推送到各大搜索引擎,
  
  帝國cms發(fā)布了這些功能,我們可以看到,每個(gè)按鈕其實(shí)都是互聯(lián)網(wǎng)上的一個(gè)插件。將這些功能整合在一起,對于網(wǎng)站本身的管理會(huì )更加方便,網(wǎng)站減輕負擔。對于網(wǎng)站管理員來(lái)說(shuō),工作量減少,工作效率大大提高。一個(gè)接口可以管理所有cms 和功能屬性。同時(shí)為了簡(jiǎn)化網(wǎng)站的管理,帝國cms采集也一起配置,采集的操作也很簡(jiǎn)單,沒(méi)有需要寫(xiě)規則,創(chuàng )建一個(gè)采集任務(wù),關(guān)鍵詞可以根據需求自動(dòng)生成,批量生成關(guān)鍵詞批量文章采集。采集 過(guò)去需要一天時(shí)間 幾個(gè)網(wǎng)站的releases要發(fā)布,但是現在同時(shí)配置了幾十個(gè)網(wǎng)站s,一會(huì )就搞定了。車(chē)站和管理的好幫手。
  
  帝國cms發(fā)布的文章就寫(xiě)在這里。寫(xiě)這個(gè)文章的目的是很多站長(cháng)用Empirecms來(lái)做網(wǎng)站,但是弊端也很明顯。帝國cms的發(fā)布很好的解決了站長(cháng)們的痛點(diǎn),惠及了更多的站長(cháng),讓他們的網(wǎng)站變得更好,管理起來(lái)更輕松、更快捷!
   查看全部

  自動(dòng)采集編寫(xiě)(
帝國CMS發(fā)布具有哪些功能特性以及如何配置SEO優(yōu)化?
)
  
  帝國cms發(fā)布,顛覆了之前的cms發(fā)布功能,不僅發(fā)布,發(fā)布時(shí)還添加了SEO優(yōu)化功能,同時(shí)擁有采集和偽原創(chuàng ),讓網(wǎng)站內容更新實(shí)現一站式自動(dòng)批量采集偽原創(chuàng )發(fā)布。無(wú)論是采集還是偽原創(chuàng )還是發(fā)布,每個(gè)功能都加入了SEO優(yōu)化,每一步我們一步步做SEO優(yōu)化,做到穩定。最新的 Empire cms 版本本質(zhì)上是一個(gè)集成了很多功能的 網(wǎng)站 批處理管理工具。無(wú)論采集的內容有多少,都可以自動(dòng)針對SEO進(jìn)行優(yōu)化,然后進(jìn)行量化量化。會(huì )自動(dòng)發(fā)布到 網(wǎng)站。在&lt;的優(yōu)化過(guò)程中 @網(wǎng)站建設網(wǎng)站,站長(cháng)有Empirecms發(fā)布的支持,定性提高工作效率和工作效果。這樣一來(lái),小編制作的帝國cms網(wǎng)站無(wú)論是收錄,排名還是權重,效果都還不錯,而且是純粹的采集車(chē)站。
  
  Imperialcms 版本有哪些功能以及如何配置SEO優(yōu)化:
  首先是操作極其簡(jiǎn)單,是最簡(jiǎn)單最極致的,不需要寫(xiě)任何發(fā)布規則。整個(gè)發(fā)布設置界面只需要點(diǎn)擊按鈕填寫(xiě)現有域名信息即可。具體流程如下: 1.填寫(xiě)域名、后臺登錄路徑和管理員賬號密碼,關(guān)閉驗證碼登錄。2.選擇cms的類(lèi)型和監控文件夾。特點(diǎn)是通過(guò)監控文件夾,只要文件夾中有新文件,就可以自動(dòng)發(fā)布到網(wǎng)站。自動(dòng)排版以使內容看起來(lái)更好。3.設置發(fā)布時(shí)間和數量。這樣做的好處是 網(wǎng)站 更新是定期的。對于搜索引擎,一個(gè)常規的&lt; @網(wǎng)站 更受青睞。4.設置發(fā)布的文章自動(dòng)將相關(guān)的關(guān)鍵詞插入到標題中,文章控制插入的頻率。這不是疊加關(guān)鍵詞,而是讓網(wǎng)站相關(guān)關(guān)鍵詞出現的頻率在一個(gè)標準范圍內,對SEO優(yōu)化有很大幫助網(wǎng)站收錄和 關(guān)鍵詞 排名。5.設置隨機圖片插入、隨機點(diǎn)贊、閱讀量、作者數,讓用戶(hù)進(jìn)入你的網(wǎng)站看到的內容會(huì )更生動(dòng),更直觀(guān)將您的 網(wǎng)站 信息傳遞給用戶(hù)。6.點(diǎn)擊選擇自動(dòng)推送,每發(fā)表一篇文章文章都可以主動(dòng)推送到各大搜索引擎,
  
  帝國cms發(fā)布了這些功能,我們可以看到,每個(gè)按鈕其實(shí)都是互聯(lián)網(wǎng)上的一個(gè)插件。將這些功能整合在一起,對于網(wǎng)站本身的管理會(huì )更加方便,網(wǎng)站減輕負擔。對于網(wǎng)站管理員來(lái)說(shuō),工作量減少,工作效率大大提高。一個(gè)接口可以管理所有cms 和功能屬性。同時(shí)為了簡(jiǎn)化網(wǎng)站的管理,帝國cms采集也一起配置,采集的操作也很簡(jiǎn)單,沒(méi)有需要寫(xiě)規則,創(chuàng )建一個(gè)采集任務(wù),關(guān)鍵詞可以根據需求自動(dòng)生成,批量生成關(guān)鍵詞批量文章采集。采集 過(guò)去需要一天時(shí)間 幾個(gè)網(wǎng)站的releases要發(fā)布,但是現在同時(shí)配置了幾十個(gè)網(wǎng)站s,一會(huì )就搞定了。車(chē)站和管理的好幫手。
  
  帝國cms發(fā)布的文章就寫(xiě)在這里。寫(xiě)這個(gè)文章的目的是很多站長(cháng)用Empirecms來(lái)做網(wǎng)站,但是弊端也很明顯。帝國cms的發(fā)布很好的解決了站長(cháng)們的痛點(diǎn),惠及了更多的站長(cháng),讓他們的網(wǎng)站變得更好,管理起來(lái)更輕松、更快捷!
  

自動(dòng)采集編寫(xiě)(網(wǎng)上信息自動(dòng)采集系統相關(guān)畢業(yè)論文格式范文和優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 189 次瀏覽 ? 2022-01-07 20:11 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(網(wǎng)上信息自動(dòng)采集系統相關(guān)畢業(yè)論文格式范文和優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻)
  本論文是網(wǎng)絡(luò )信息相關(guān)畢業(yè)論文網(wǎng)的范文,與網(wǎng)絡(luò )信息相關(guān)的自動(dòng)采集系統相關(guān)的畢業(yè)論文格式,可用于網(wǎng)絡(luò )信息論文的研究寫(xiě)作及大學(xué)碩士、本科畢業(yè)論文開(kāi)題報告模板及優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻下載。免費教你如何寫(xiě)網(wǎng)絡(luò )信息和信息數據庫的范文。
  摘要 在線(xiàn)信息自動(dòng)采集系統是利用網(wǎng)頁(yè)信息采集器自動(dòng)采集互聯(lián)網(wǎng)上需要的各種信息,包括文字、圖片等內容,并使用存儲的模板對Play進(jìn)行分類(lèi)存儲,達到實(shí)時(shí)快速播放的效果。它還具有檢索、監控、保護等功能,具有速度快、智能化的特點(diǎn)。通過(guò)這個(gè)系統,可以解決當前傳統信息采集和搜索引擎的問(wèn)題。率低、殺傷率低、不靈活的缺點(diǎn)。
  在線(xiàn)信息自動(dòng)采集系統參考屬性評價(jià)論文范文主題相關(guān)研究:
  網(wǎng)絡(luò )信息范文
  大學(xué)生申請:
  在職研究生論文、大學(xué)論文
  相關(guān)參考下載次數:
  52
  寫(xiě)作解決問(wèn)題:
  文具
  開(kāi)學(xué)報告:
  論文大綱、摘要
  題目論文適用:
  期刊發(fā)表、職稱(chēng)評價(jià)中級
  大學(xué)生的主要類(lèi)別:
  文具
  論文題目推薦:
  優(yōu)秀的話(huà)題
  關(guān)鍵詞信息獲取與編輯;自動(dòng) 采集; 快速釋放
  中文圖書(shū)館分類(lèi)號TN949.292 文獻識別碼A文章 編號1673-9671-(2013)012-0150-01
  1 背景
  互聯(lián)網(wǎng)時(shí)代,一切都在高速運轉。每分每秒都會(huì )產(chǎn)生無(wú)數的新信息。第一時(shí)間獲取全面準確的信息對于與信息息息相關(guān)的各行各業(yè)變得越來(lái)越重要。需求越迫切。隨著(zhù)網(wǎng)絡(luò )信息資源的快速增長(cháng),人們越來(lái)越關(guān)注如何開(kāi)發(fā)和利用這些資源。然而,目的是
  
  在網(wǎng)絡(luò )信息相關(guān)論文模板檢索方面,中英文搜索引擎的準確率和召回率都較低。這種現狀已經(jīng)不能滿(mǎn)足用戶(hù)對優(yōu)質(zhì)網(wǎng)絡(luò )信息服務(wù)的需求;與此同時(shí),電子商務(wù)和各種網(wǎng)絡(luò )信息服務(wù)的迅速興起,原有的網(wǎng)絡(luò )信息處理和組織技術(shù)已經(jīng)跟不上這種發(fā)展趨勢,網(wǎng)絡(luò )信息挖掘就是在這樣的環(huán)境下應運而生,并迅速成為網(wǎng)絡(luò )信息檢索和信息服務(wù)領(lǐng)域的熱點(diǎn)。@一.
  隨著(zhù)互聯(lián)網(wǎng)的飛速發(fā)展,越來(lái)越多的信息呈現在用戶(hù)面前,在現實(shí)生活中,但同時(shí)存在的問(wèn)題是,用戶(hù)獲取自己最需要的信息越來(lái)越困難。對于用戶(hù)一般的信息查詢(xún)和檢索需求,傳統信息采集器組成的搜索引擎可以提供更好的服務(wù),但對于用戶(hù)更具體的需求,這種傳統信息提供的服務(wù)基于整個(gè)網(wǎng)頁(yè)采集 不滿(mǎn)意。對于每個(gè)用戶(hù),雖然輸入了相同的查詢(xún)詞,但他們想要的查詢(xún)結果卻不盡相同,而傳統信息采集和搜索引擎只能硬性返回相同。因此,這是不合理的,需要改進(jìn)。本文提出了一種基于CIS結構的在線(xiàn)信息采集與編輯系統。在線(xiàn)信息采集編輯系統可實(shí)現對在線(xiàn)信息搜索數據庫的實(shí)時(shí)監控、采集、存儲和實(shí)時(shí)更新,提供包括最新信息的全文搜索,可充分滿(mǎn)足各類(lèi)復雜、苛刻的信息服務(wù)需要。
  2 原則
  網(wǎng)絡(luò )信息采集主要是指通過(guò)網(wǎng)頁(yè)之間的鏈接關(guān)系,自動(dòng)從一個(gè)網(wǎng)頁(yè)中獲取頁(yè)面信息,并通過(guò)鏈接不斷擴展到需要的網(wǎng)頁(yè)的過(guò)程。這個(gè)過(guò)程主要是通過(guò)網(wǎng)頁(yè)信息采集器來(lái)實(shí)現的。根據不同的應用習慣,粗略的講,主要是指這樣一個(gè)程序,從一組初始的URL開(kāi)始,將這些URL全部放到一個(gè)有序等待的采集隊列中。而采集器依次從這個(gè)隊列中取出URL,通過(guò)網(wǎng)頁(yè)上的協(xié)議獲取該URL指向的頁(yè)面,然后從這些獲取到的頁(yè)面中提取出新的URL,并繼續將它們放入等待采集隊列,然后重復上述過(guò)程直到采集器 根據自己的策略停止采集。對于大多數采集器來(lái)說(shuō),這就是結束,而對于一些采集器來(lái)說(shuō),還需要對采集到達的頁(yè)面數據和相關(guān)處理結果進(jìn)行存儲和索引,并對其進(jìn)行語(yǔ)義分析內容在此基礎上。
  3 結構
  網(wǎng)頁(yè)信息采集系統基本上可以分為5個(gè)部分:URL處理器、協(xié)議處理器、重復內容檢測器、URL提取器、Meat信息獲取器。以及幾個(gè)功能子系統:信息監控系統、信息采集系統、信息存儲系統、檢索系統。
  3.1 信息監控系統
  信息監控系統的作用是跟蹤信息源的更新?tīng)顟B(tài),一旦出現新信息,立即通知信息采集系統。其主要特點(diǎn)包括: 1) 高效監控:多線(xiàn)程并發(fā)監控設計,每分鐘可以判斷是否有多達數百個(gè)網(wǎng)站的信息更新,使用效果非常好。2) 低帶寬占用:自動(dòng)提取web特征屬性,判斷是否有更新,每次需要時(shí)傳輸的信息只有幾個(gè)字節,占用帶寬極少。3)精準反饋:發(fā)現目標網(wǎng)站更新后,會(huì )自動(dòng)分析判斷鏈接、文件屬性、
  3.2信息采集系統
  對于圖片和文字同時(shí)存在的內容,在獲取文字內容的同時(shí),還可以精準獲取圖片,準確保存圖片在文字中的位置。
  1)超高速:標準的多線(xiàn)程并發(fā)指令執行設計,極快的信息采集速度。監控系統發(fā)現新更新的信息后,1分鐘內可以將90%的信息采集獲取到本地。
  2)準確采集:僅采集新增信息的主要內容,自動(dòng)過(guò)濾掉導航鏈接、相關(guān)信息鏈接等無(wú)效信息。
  3)智能線(xiàn)程調度:可根據網(wǎng)絡(luò )情況自由調整并發(fā)執行線(xiàn)程數。專(zhuān)為動(dòng)態(tài)網(wǎng)頁(yè)信息而設計,支持采集,可以是采集ASP、JSP、PHP等各種程序自動(dòng)生成的網(wǎng)頁(yè)信息。
  3.3 信息存儲系統
  1)本地存儲:將抓取到的信息存儲在本地硬盤(pán)上,提高信息訪(fǎng)問(wèn)速度,有效避免因修改信息源導致信息找不到的情況。同時(shí),信息在本地存儲后會(huì )恢復。它可以發(fā)送到編輯和發(fā)布系統進(jìn)行進(jìn)一步處理。 查看全部

  自動(dòng)采集編寫(xiě)(網(wǎng)上信息自動(dòng)采集系統相關(guān)畢業(yè)論文格式范文和優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻)
  本論文是網(wǎng)絡(luò )信息相關(guān)畢業(yè)論文網(wǎng)的范文,與網(wǎng)絡(luò )信息相關(guān)的自動(dòng)采集系統相關(guān)的畢業(yè)論文格式,可用于網(wǎng)絡(luò )信息論文的研究寫(xiě)作及大學(xué)碩士、本科畢業(yè)論文開(kāi)題報告模板及優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻下載。免費教你如何寫(xiě)網(wǎng)絡(luò )信息和信息數據庫的范文。
  摘要 在線(xiàn)信息自動(dòng)采集系統是利用網(wǎng)頁(yè)信息采集器自動(dòng)采集互聯(lián)網(wǎng)上需要的各種信息,包括文字、圖片等內容,并使用存儲的模板對Play進(jìn)行分類(lèi)存儲,達到實(shí)時(shí)快速播放的效果。它還具有檢索、監控、保護等功能,具有速度快、智能化的特點(diǎn)。通過(guò)這個(gè)系統,可以解決當前傳統信息采集和搜索引擎的問(wèn)題。率低、殺傷率低、不靈活的缺點(diǎn)。
  在線(xiàn)信息自動(dòng)采集系統參考屬性評價(jià)論文范文主題相關(guān)研究:
  網(wǎng)絡(luò )信息范文
  大學(xué)生申請:
  在職研究生論文、大學(xué)論文
  相關(guān)參考下載次數:
  52
  寫(xiě)作解決問(wèn)題:
  文具
  開(kāi)學(xué)報告:
  論文大綱、摘要
  題目論文適用:
  期刊發(fā)表、職稱(chēng)評價(jià)中級
  大學(xué)生的主要類(lèi)別:
  文具
  論文題目推薦:
  優(yōu)秀的話(huà)題
  關(guān)鍵詞信息獲取與編輯;自動(dòng) 采集; 快速釋放
  中文圖書(shū)館分類(lèi)號TN949.292 文獻識別碼A文章 編號1673-9671-(2013)012-0150-01
  1 背景
  互聯(lián)網(wǎng)時(shí)代,一切都在高速運轉。每分每秒都會(huì )產(chǎn)生無(wú)數的新信息。第一時(shí)間獲取全面準確的信息對于與信息息息相關(guān)的各行各業(yè)變得越來(lái)越重要。需求越迫切。隨著(zhù)網(wǎng)絡(luò )信息資源的快速增長(cháng),人們越來(lái)越關(guān)注如何開(kāi)發(fā)和利用這些資源。然而,目的是
  
  在網(wǎng)絡(luò )信息相關(guān)論文模板檢索方面,中英文搜索引擎的準確率和召回率都較低。這種現狀已經(jīng)不能滿(mǎn)足用戶(hù)對優(yōu)質(zhì)網(wǎng)絡(luò )信息服務(wù)的需求;與此同時(shí),電子商務(wù)和各種網(wǎng)絡(luò )信息服務(wù)的迅速興起,原有的網(wǎng)絡(luò )信息處理和組織技術(shù)已經(jīng)跟不上這種發(fā)展趨勢,網(wǎng)絡(luò )信息挖掘就是在這樣的環(huán)境下應運而生,并迅速成為網(wǎng)絡(luò )信息檢索和信息服務(wù)領(lǐng)域的熱點(diǎn)。@一.
  隨著(zhù)互聯(lián)網(wǎng)的飛速發(fā)展,越來(lái)越多的信息呈現在用戶(hù)面前,在現實(shí)生活中,但同時(shí)存在的問(wèn)題是,用戶(hù)獲取自己最需要的信息越來(lái)越困難。對于用戶(hù)一般的信息查詢(xún)和檢索需求,傳統信息采集器組成的搜索引擎可以提供更好的服務(wù),但對于用戶(hù)更具體的需求,這種傳統信息提供的服務(wù)基于整個(gè)網(wǎng)頁(yè)采集 不滿(mǎn)意。對于每個(gè)用戶(hù),雖然輸入了相同的查詢(xún)詞,但他們想要的查詢(xún)結果卻不盡相同,而傳統信息采集和搜索引擎只能硬性返回相同。因此,這是不合理的,需要改進(jìn)。本文提出了一種基于CIS結構的在線(xiàn)信息采集與編輯系統。在線(xiàn)信息采集編輯系統可實(shí)現對在線(xiàn)信息搜索數據庫的實(shí)時(shí)監控、采集、存儲和實(shí)時(shí)更新,提供包括最新信息的全文搜索,可充分滿(mǎn)足各類(lèi)復雜、苛刻的信息服務(wù)需要。
  2 原則
  網(wǎng)絡(luò )信息采集主要是指通過(guò)網(wǎng)頁(yè)之間的鏈接關(guān)系,自動(dòng)從一個(gè)網(wǎng)頁(yè)中獲取頁(yè)面信息,并通過(guò)鏈接不斷擴展到需要的網(wǎng)頁(yè)的過(guò)程。這個(gè)過(guò)程主要是通過(guò)網(wǎng)頁(yè)信息采集器來(lái)實(shí)現的。根據不同的應用習慣,粗略的講,主要是指這樣一個(gè)程序,從一組初始的URL開(kāi)始,將這些URL全部放到一個(gè)有序等待的采集隊列中。而采集器依次從這個(gè)隊列中取出URL,通過(guò)網(wǎng)頁(yè)上的協(xié)議獲取該URL指向的頁(yè)面,然后從這些獲取到的頁(yè)面中提取出新的URL,并繼續將它們放入等待采集隊列,然后重復上述過(guò)程直到采集器 根據自己的策略停止采集。對于大多數采集器來(lái)說(shuō),這就是結束,而對于一些采集器來(lái)說(shuō),還需要對采集到達的頁(yè)面數據和相關(guān)處理結果進(jìn)行存儲和索引,并對其進(jìn)行語(yǔ)義分析內容在此基礎上。
  3 結構
  網(wǎng)頁(yè)信息采集系統基本上可以分為5個(gè)部分:URL處理器、協(xié)議處理器、重復內容檢測器、URL提取器、Meat信息獲取器。以及幾個(gè)功能子系統:信息監控系統、信息采集系統、信息存儲系統、檢索系統。
  3.1 信息監控系統
  信息監控系統的作用是跟蹤信息源的更新?tīng)顟B(tài),一旦出現新信息,立即通知信息采集系統。其主要特點(diǎn)包括: 1) 高效監控:多線(xiàn)程并發(fā)監控設計,每分鐘可以判斷是否有多達數百個(gè)網(wǎng)站的信息更新,使用效果非常好。2) 低帶寬占用:自動(dòng)提取web特征屬性,判斷是否有更新,每次需要時(shí)傳輸的信息只有幾個(gè)字節,占用帶寬極少。3)精準反饋:發(fā)現目標網(wǎng)站更新后,會(huì )自動(dòng)分析判斷鏈接、文件屬性、
  3.2信息采集系統
  對于圖片和文字同時(shí)存在的內容,在獲取文字內容的同時(shí),還可以精準獲取圖片,準確保存圖片在文字中的位置。
  1)超高速:標準的多線(xiàn)程并發(fā)指令執行設計,極快的信息采集速度。監控系統發(fā)現新更新的信息后,1分鐘內可以將90%的信息采集獲取到本地。
  2)準確采集:僅采集新增信息的主要內容,自動(dòng)過(guò)濾掉導航鏈接、相關(guān)信息鏈接等無(wú)效信息。
  3)智能線(xiàn)程調度:可根據網(wǎng)絡(luò )情況自由調整并發(fā)執行線(xiàn)程數。專(zhuān)為動(dòng)態(tài)網(wǎng)頁(yè)信息而設計,支持采集,可以是采集ASP、JSP、PHP等各種程序自動(dòng)生成的網(wǎng)頁(yè)信息。
  3.3 信息存儲系統
  1)本地存儲:將抓取到的信息存儲在本地硬盤(pán)上,提高信息訪(fǎng)問(wèn)速度,有效避免因修改信息源導致信息找不到的情況。同時(shí),信息在本地存儲后會(huì )恢復。它可以發(fā)送到編輯和發(fā)布系統進(jìn)行進(jìn)一步處理。

自動(dòng)采集編寫(xiě)(如何學(xué)好,采集規則的編寫(xiě)呢?-樂(lè )題庫)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 124 次瀏覽 ? 2022-01-06 17:15 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(如何學(xué)好,采集規則的編寫(xiě)呢?-樂(lè )題庫)
  第十六課 DEDE采集 規則編寫(xiě) 通過(guò)以上課程,我們對仿網(wǎng)站有了一個(gè)比較大的基本了解,所以本課我們將學(xué)習采集 DEDE 程序。規則的編寫(xiě),那么問(wèn)題來(lái)了,為什么要學(xué)習DEDE的采集規則的編寫(xiě)?那么這個(gè)采集能帶來(lái)什么好處,又有什么作用呢?接下來(lái)我們將分析學(xué)習這些問(wèn)題,以及如何學(xué)好,采集規則編寫(xiě)1.學(xué)習采集規則的原因采集規則是為了使站長(cháng)快速建立資源的快捷方式。它使我們能夠快速實(shí)現其他人站點(diǎn)上資源的自動(dòng)轉移。
  2、采集規則的編寫(xiě)對于采集的規則的編寫(xiě),我們主要是舉例說(shuō)明。采集首先要確定一個(gè)目標網(wǎng)站
  DEDEcms5.3個(gè)簡(jiǎn)單的學(xué)習資料
  DEDEcms問(wèn)答?tid=102730
  DEDEcms系統模板標簽代碼參考總結:這一課我們學(xué)習了DEDE程序采集規則的編寫(xiě),主要講解,學(xué)習一個(gè)采集,能夠掌握各種采集。
  -------------------------------------------------- -------------------------------------------------- ——
  3G安全網(wǎng)提醒您:部分軟件可能被反軟件誤報,屬正?,F象。如果你不放心,你可以不下載它。
  所有教程和軟件均為網(wǎng)上轉載,下載后請在24小時(shí)內刪除!
  部分教程和軟件含有廣告,交易請慎重! 查看全部

  自動(dòng)采集編寫(xiě)(如何學(xué)好,采集規則的編寫(xiě)呢?-樂(lè )題庫)
  第十六課 DEDE采集 規則編寫(xiě) 通過(guò)以上課程,我們對仿網(wǎng)站有了一個(gè)比較大的基本了解,所以本課我們將學(xué)習采集 DEDE 程序。規則的編寫(xiě),那么問(wèn)題來(lái)了,為什么要學(xué)習DEDE的采集規則的編寫(xiě)?那么這個(gè)采集能帶來(lái)什么好處,又有什么作用呢?接下來(lái)我們將分析學(xué)習這些問(wèn)題,以及如何學(xué)好,采集規則編寫(xiě)1.學(xué)習采集規則的原因采集規則是為了使站長(cháng)快速建立資源的快捷方式。它使我們能夠快速實(shí)現其他人站點(diǎn)上資源的自動(dòng)轉移。
  2、采集規則的編寫(xiě)對于采集的規則的編寫(xiě),我們主要是舉例說(shuō)明。采集首先要確定一個(gè)目標網(wǎng)站
  DEDEcms5.3個(gè)簡(jiǎn)單的學(xué)習資料
  DEDEcms問(wèn)答?tid=102730
  DEDEcms系統模板標簽代碼參考總結:這一課我們學(xué)習了DEDE程序采集規則的編寫(xiě),主要講解,學(xué)習一個(gè)采集,能夠掌握各種采集。
  -------------------------------------------------- -------------------------------------------------- ——
  3G安全網(wǎng)提醒您:部分軟件可能被反軟件誤報,屬正?,F象。如果你不放心,你可以不下載它。
  所有教程和軟件均為網(wǎng)上轉載,下載后請在24小時(shí)內刪除!
  部分教程和軟件含有廣告,交易請慎重!

自動(dòng)采集編寫(xiě)(智能防封優(yōu)采云采集可輕松采集10億數據無(wú)錯漏)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 135 次瀏覽 ? 2022-01-06 03:14 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(智能防封優(yōu)采云采集可輕松采集10億數據無(wú)錯漏)
  優(yōu)采云采集器是一個(gè)智能、實(shí)用、穩定、高效的專(zhuān)業(yè)云采集服務(wù)平臺,優(yōu)采云采集器無(wú)需編寫(xiě)代碼,即可采集任何網(wǎng)站,0基礎30秒上手,1分鐘搞定數據。如果你不懂網(wǎng)絡(luò )爬蟲(chóng)技術(shù),你可以輕松采集數據日均采集10億條數據,沒(méi)有錯誤或遺漏。
  軟件說(shuō)明
  優(yōu)采云內置采集登錄模塊,只需配置目標網(wǎng)站的賬號和密碼,即可使用該模塊對采集進(jìn)行登錄數據;同時(shí)優(yōu)采云還自帶采集Cookie的自定義功能,首次登錄后可以自動(dòng)記住cookie,免去輸入多個(gè)密碼的繁瑣,支持更多網(wǎng)站 采集。優(yōu)采云操作簡(jiǎn)單,功能強大,滿(mǎn)足你所有的需求,是人人可用的數據采集器。
  特征
  簡(jiǎn)單采集
  簡(jiǎn)單的采集模式內置了數百個(gè)主流的網(wǎng)站數據源,如京東、天貓、大眾點(diǎn)評等流行的采集網(wǎng)站,只需參考模板并簡(jiǎn)單地設置參數。您可以快速獲取網(wǎng)站公開(kāi)數據。
  智能防封
  優(yōu)采云采集 針對不同的網(wǎng)站,可以自定義組合瀏覽器識別(UA)、自動(dòng)代理IP、瀏覽器Cookie、驗證碼破解等功能,實(shí)現在廣大的突破大多數網(wǎng)站的反采集策略。
  云采集
  云采集支持5000多臺云服務(wù)器,7*24小時(shí)不間斷運行,可實(shí)現定時(shí)采集,無(wú)需人員值守,靈活適配業(yè)務(wù)場(chǎng)景,助您提升采集 效率,保證數據的及時(shí)性。
  API接口
  通過(guò)優(yōu)采云 API,您可以輕松獲取優(yōu)采云任務(wù)信息和采集接收到的數據,靈活調度任務(wù),如遠程控制任務(wù)啟停,高效實(shí)現數據&lt; @采集 和存檔?;趶姶蟮腁PI系統,還可以與公司內部各種管理平臺無(wú)縫對接,實(shí)現各種業(yè)務(wù)自動(dòng)化。
  自定義采集
  根據采集不同用戶(hù)的需求,優(yōu)采云可以提供自定義模式自動(dòng)生成爬蟲(chóng),可以批量準確識別各種網(wǎng)頁(yè)元素,以及翻頁(yè)、下拉、ajax 、頁(yè)面滾動(dòng)、條件判斷等多種功能,支持不同網(wǎng)頁(yè)結構的復雜網(wǎng)站采集,滿(mǎn)足多種采集應用場(chǎng)景。
  方便的定時(shí)功能
  只需簡(jiǎn)單的點(diǎn)擊幾下設置,即可實(shí)現采集任務(wù)的定時(shí)控制,無(wú)論是單個(gè)采集定時(shí)設置,還是預設日或周、月定時(shí)采集,您可以同時(shí)自由設置多個(gè)任務(wù),根據需要進(jìn)行多種選擇時(shí)間組合,靈活部署自己的采集任務(wù)。
  全自動(dòng)數據格式化
  優(yōu)采云內置強大的數據格式化引擎,支持字符串替換、正則表達式替換或匹配、去除空格、添加前綴或后綴、日期時(shí)間格式化、HTML轉碼等多項功能,采集全自動(dòng)處理過(guò)程中,無(wú)需人工干預,即可得到所需格式的數據。
  無(wú)限等級采集
  許多主流新聞和電商網(wǎng)站包括一級商品列表頁(yè)、二級商品詳情頁(yè)、三級評論詳情頁(yè);無(wú)論網(wǎng)站有多少層,優(yōu)采云都可以擁有無(wú)??限層的采集數據,滿(mǎn)足各種業(yè)務(wù)采集的需求。 查看全部

  自動(dòng)采集編寫(xiě)(智能防封優(yōu)采云采集可輕松采集10億數據無(wú)錯漏)
  優(yōu)采云采集器是一個(gè)智能、實(shí)用、穩定、高效的專(zhuān)業(yè)云采集服務(wù)平臺,優(yōu)采云采集器無(wú)需編寫(xiě)代碼,即可采集任何網(wǎng)站,0基礎30秒上手,1分鐘搞定數據。如果你不懂網(wǎng)絡(luò )爬蟲(chóng)技術(shù),你可以輕松采集數據日均采集10億條數據,沒(méi)有錯誤或遺漏。
  軟件說(shuō)明
  優(yōu)采云內置采集登錄模塊,只需配置目標網(wǎng)站的賬號和密碼,即可使用該模塊對采集進(jìn)行登錄數據;同時(shí)優(yōu)采云還自帶采集Cookie的自定義功能,首次登錄后可以自動(dòng)記住cookie,免去輸入多個(gè)密碼的繁瑣,支持更多網(wǎng)站 采集。優(yōu)采云操作簡(jiǎn)單,功能強大,滿(mǎn)足你所有的需求,是人人可用的數據采集器。
  特征
  簡(jiǎn)單采集
  簡(jiǎn)單的采集模式內置了數百個(gè)主流的網(wǎng)站數據源,如京東、天貓、大眾點(diǎn)評等流行的采集網(wǎng)站,只需參考模板并簡(jiǎn)單地設置參數。您可以快速獲取網(wǎng)站公開(kāi)數據。
  智能防封
  優(yōu)采云采集 針對不同的網(wǎng)站,可以自定義組合瀏覽器識別(UA)、自動(dòng)代理IP、瀏覽器Cookie、驗證碼破解等功能,實(shí)現在廣大的突破大多數網(wǎng)站的反采集策略。
  云采集
  云采集支持5000多臺云服務(wù)器,7*24小時(shí)不間斷運行,可實(shí)現定時(shí)采集,無(wú)需人員值守,靈活適配業(yè)務(wù)場(chǎng)景,助您提升采集 效率,保證數據的及時(shí)性。
  API接口
  通過(guò)優(yōu)采云 API,您可以輕松獲取優(yōu)采云任務(wù)信息和采集接收到的數據,靈活調度任務(wù),如遠程控制任務(wù)啟停,高效實(shí)現數據&lt; @采集 和存檔?;趶姶蟮腁PI系統,還可以與公司內部各種管理平臺無(wú)縫對接,實(shí)現各種業(yè)務(wù)自動(dòng)化。
  自定義采集
  根據采集不同用戶(hù)的需求,優(yōu)采云可以提供自定義模式自動(dòng)生成爬蟲(chóng),可以批量準確識別各種網(wǎng)頁(yè)元素,以及翻頁(yè)、下拉、ajax 、頁(yè)面滾動(dòng)、條件判斷等多種功能,支持不同網(wǎng)頁(yè)結構的復雜網(wǎng)站采集,滿(mǎn)足多種采集應用場(chǎng)景。
  方便的定時(shí)功能
  只需簡(jiǎn)單的點(diǎn)擊幾下設置,即可實(shí)現采集任務(wù)的定時(shí)控制,無(wú)論是單個(gè)采集定時(shí)設置,還是預設日或周、月定時(shí)采集,您可以同時(shí)自由設置多個(gè)任務(wù),根據需要進(jìn)行多種選擇時(shí)間組合,靈活部署自己的采集任務(wù)。
  全自動(dòng)數據格式化
  優(yōu)采云內置強大的數據格式化引擎,支持字符串替換、正則表達式替換或匹配、去除空格、添加前綴或后綴、日期時(shí)間格式化、HTML轉碼等多項功能,采集全自動(dòng)處理過(guò)程中,無(wú)需人工干預,即可得到所需格式的數據。
  無(wú)限等級采集
  許多主流新聞和電商網(wǎng)站包括一級商品列表頁(yè)、二級商品詳情頁(yè)、三級評論詳情頁(yè);無(wú)論網(wǎng)站有多少層,優(yōu)采云都可以擁有無(wú)??限層的采集數據,滿(mǎn)足各種業(yè)務(wù)采集的需求。

自動(dòng)采集編寫(xiě)(如何利用C#Winform和Python解決網(wǎng)站采集敏感信息的問(wèn)題)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 307 次瀏覽 ? 2022-01-05 12:28 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(如何利用C#Winform和Python解決網(wǎng)站采集敏感信息的問(wèn)題)
  過(guò)去我對爬蟲(chóng)的研究不多。最近需要從一些網(wǎng)站采集那里獲取一些敏感信息,經(jīng)過(guò)一番考慮,我決定使用C#Winform和Python來(lái)解決這個(gè)事件。
  整個(gè)解決方案并不復雜:C#寫(xiě)WinForm表單,進(jìn)行數據分析和采集,Python本來(lái)不想用的,但是沒(méi)找到C#下Woff字體轉Xml的解決方案,但是網(wǎng)上Python程序很多,所以就加了一個(gè)Python項目,雖然只有一個(gè)腳本。
  
  一、幾個(gè)步驟:
  首先,您必須模擬登錄。登錄后輸入簡(jiǎn)歷采集,然后模擬下載。下載后,可以看到求職者的電話(huà)號碼。
  這個(gè)電話(huà)號碼使用的是動(dòng)態(tài)生成的Base64字體,因此無(wú)法直接提取文本。
  1、 先將Base64轉Woff字體,這個(gè)可以用C#來(lái)做(iso-8859-1編碼是坑,一般用Default會(huì )帶來(lái)驚喜):
   SetMainStatus("正在生成WOFF...");
byte[] fontBytes = Convert.FromBase64String(CurFont);
string fontStr = Encoding.GetEncoding("iso-8859-1").GetString(fontBytes).TrimEnd('\0');
StreamWriter sw2 = new StreamWriter(@"R58.woff", false, Encoding.GetEncoding("iso-8859-1"));
sw2.Write(fontStr);
sw2.Close();
  2、 然后將生成的Woff轉換成XML(WoffDec.exe是我用Python打包的Exe。其實(shí)我大驚小怪的,為了這個(gè)轉換,我寫(xiě)了一個(gè)包。如果有時(shí)間,那就更好了使用 C#。)
   //調用python exe 生成xml文件
ProcessStartInfo info = new ProcessStartInfo
{
FileName = "WoffDec.exe",
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(info).WaitForExit(2000);//在2秒內等待返回
  整個(gè) WoffDec.py 代碼為 3 行:
  from fontTools.ttLib import TTFont
font = TTFont('R12.woff')
font.saveXML('R12.xml')
  這個(gè)包裝有點(diǎn)意思。我先嘗試了py2exe,但沒(méi)有成功。我改為 pyinstaller 并且它起作用了。連EXE都有11M,不算大。
  下載,或者在VS2017 Python環(huán)境中搜索PyInstaller直接安裝。
  右鍵單擊并使用“在此處打開(kāi)命令提示符”;輸入pyinstaller /path/to/yourscript.py 打包成exe文件。調用 Winform 應用程序時(shí),應復制整個(gè)文件夾。
  3、得到xml文件后,準備根據上面的Woff文件存儲為數據字典(這個(gè)地方有點(diǎn)繞,先找個(gè)網(wǎng)站把Woff顯示為文本和代碼,然后根據代碼在XML中找到它的字體錨點(diǎn),我取X和Y形成一個(gè)唯一值(X,Y代表一個(gè)詞),當然你可以取更多;
   internal static readonly Dictionary DicChar = new Dictionary()
{
{"91,744","0" },
{"570,0","1"},
{"853,1143","2" },
{"143,259","3" },
。。。。。。
};
  4、 以上步驟需要一些時(shí)間?;鶞首值淇捎煤?,您可以根據每次生成的 XML 文件匹配真實(shí)文本。
  5、找回真文很簡(jiǎn)單,直接去數據庫采集,然后連接短信發(fā)送服務(wù),就可以自動(dòng)分組發(fā)送了。
  二、使用場(chǎng)景
  下班后啟動(dòng)采集服務(wù)時(shí)就不用擔心了。系統會(huì )定時(shí)自動(dòng)下載簡(jiǎn)歷,自動(dòng)推送面試邀請短信。只要有新人發(fā)布相應的求職信息,系統就會(huì )立即向他發(fā)出邀請,真是搶人的利器。
  BTW:用于網(wǎng)頁(yè)模擬操作的CEFSharp將開(kāi)啟新的篇章。 查看全部

  自動(dòng)采集編寫(xiě)(如何利用C#Winform和Python解決網(wǎng)站采集敏感信息的問(wèn)題)
  過(guò)去我對爬蟲(chóng)的研究不多。最近需要從一些網(wǎng)站采集那里獲取一些敏感信息,經(jīng)過(guò)一番考慮,我決定使用C#Winform和Python來(lái)解決這個(gè)事件。
  整個(gè)解決方案并不復雜:C#寫(xiě)WinForm表單,進(jìn)行數據分析和采集,Python本來(lái)不想用的,但是沒(méi)找到C#下Woff字體轉Xml的解決方案,但是網(wǎng)上Python程序很多,所以就加了一個(gè)Python項目,雖然只有一個(gè)腳本。
  
  一、幾個(gè)步驟:
  首先,您必須模擬登錄。登錄后輸入簡(jiǎn)歷采集,然后模擬下載。下載后,可以看到求職者的電話(huà)號碼。
  這個(gè)電話(huà)號碼使用的是動(dòng)態(tài)生成的Base64字體,因此無(wú)法直接提取文本。
  1、 先將Base64轉Woff字體,這個(gè)可以用C#來(lái)做(iso-8859-1編碼是坑,一般用Default會(huì )帶來(lái)驚喜):
   SetMainStatus("正在生成WOFF...");
byte[] fontBytes = Convert.FromBase64String(CurFont);
string fontStr = Encoding.GetEncoding("iso-8859-1").GetString(fontBytes).TrimEnd('\0');
StreamWriter sw2 = new StreamWriter(@"R58.woff", false, Encoding.GetEncoding("iso-8859-1"));
sw2.Write(fontStr);
sw2.Close();
  2、 然后將生成的Woff轉換成XML(WoffDec.exe是我用Python打包的Exe。其實(shí)我大驚小怪的,為了這個(gè)轉換,我寫(xiě)了一個(gè)包。如果有時(shí)間,那就更好了使用 C#。)
   //調用python exe 生成xml文件
ProcessStartInfo info = new ProcessStartInfo
{
FileName = "WoffDec.exe",
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(info).WaitForExit(2000);//在2秒內等待返回
  整個(gè) WoffDec.py 代碼為 3 行:
  from fontTools.ttLib import TTFont
font = TTFont('R12.woff')
font.saveXML('R12.xml')
  這個(gè)包裝有點(diǎn)意思。我先嘗試了py2exe,但沒(méi)有成功。我改為 pyinstaller 并且它起作用了。連EXE都有11M,不算大。
  下載,或者在VS2017 Python環(huán)境中搜索PyInstaller直接安裝。
  右鍵單擊并使用“在此處打開(kāi)命令提示符”;輸入pyinstaller /path/to/yourscript.py 打包成exe文件。調用 Winform 應用程序時(shí),應復制整個(gè)文件夾。
  3、得到xml文件后,準備根據上面的Woff文件存儲為數據字典(這個(gè)地方有點(diǎn)繞,先找個(gè)網(wǎng)站把Woff顯示為文本和代碼,然后根據代碼在XML中找到它的字體錨點(diǎn),我取X和Y形成一個(gè)唯一值(X,Y代表一個(gè)詞),當然你可以取更多;
   internal static readonly Dictionary DicChar = new Dictionary()
{
{"91,744","0" },
{"570,0","1"},
{"853,1143","2" },
{"143,259","3" },
。。。。。。
};
  4、 以上步驟需要一些時(shí)間?;鶞首值淇捎煤?,您可以根據每次生成的 XML 文件匹配真實(shí)文本。
  5、找回真文很簡(jiǎn)單,直接去數據庫采集,然后連接短信發(fā)送服務(wù),就可以自動(dòng)分組發(fā)送了。
  二、使用場(chǎng)景
  下班后啟動(dòng)采集服務(wù)時(shí)就不用擔心了。系統會(huì )定時(shí)自動(dòng)下載簡(jiǎn)歷,自動(dòng)推送面試邀請短信。只要有新人發(fā)布相應的求職信息,系統就會(huì )立即向他發(fā)出邀請,真是搶人的利器。
  BTW:用于網(wǎng)頁(yè)模擬操作的CEFSharp將開(kāi)啟新的篇章。

自動(dòng)采集編寫(xiě)(3個(gè)非常不錯的爬蟲(chóng)數據采集工具,輕松輕松采集)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 208 次瀏覽 ? 2022-01-26 07:18 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(3個(gè)非常不錯的爬蟲(chóng)數據采集工具,輕松輕松采集)
  當然有。下面我簡(jiǎn)單介紹3個(gè)非常好的爬蟲(chóng)數據采集工具,分別是優(yōu)采云dede自動(dòng)采集教程,優(yōu)采云和優(yōu)采云,適用于大部分網(wǎng)絡(luò )(網(wǎng)頁(yè)) 數據,這三個(gè)軟件都可以輕松采集,而且不需要寫(xiě)一行代碼,感興趣的朋友可以試試:
  
  優(yōu)采云采集器這是一個(gè)免費的dede自動(dòng)采集教程,跨平臺爬蟲(chóng)數據采集工具,完全免費供個(gè)人使用,基于人工智能技術(shù),可以自動(dòng)識別網(wǎng)頁(yè)元素和內容(包括表格、列表等),支持自動(dòng)翻頁(yè)和文件導出功能,使用非常方便。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  
  1.首先dede自動(dòng)采集教程,安裝優(yōu)采云采集器,直接從官網(wǎng)下載,如下,每個(gè)平臺都有版本,選擇適合您平臺的一款可以:
  
  
  2.安裝完成后,dede自動(dòng)采集教程,打開(kāi)本軟件,主界面如下,直接輸入需要采集的網(wǎng)頁(yè)地址,軟件會(huì )自動(dòng)識別網(wǎng)頁(yè)中的數據,并嘗試翻頁(yè)功能:
  
  
  以智聯(lián)招聘數據為例,dede自動(dòng)采集教程會(huì )自動(dòng)識別網(wǎng)頁(yè)中可以為采集的信息,非常方便。您還可以自定義 采集 規則以刪除不必要的字段:
  
  優(yōu)采云采集器這也是一個(gè)很好的爬蟲(chóng)數據采集工具,目前主要用于Windows平臺,內置大量數據采集模板,你可以輕松采集天貓、京東等熱門(mén)網(wǎng)站,我簡(jiǎn)單介紹一下這款軟件的安裝和使用:
  1.首先,安裝優(yōu)采云采集器,也可以直接從官網(wǎng)下載,如下,一個(gè)exe安裝包,直接安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接選擇采集方法,新建采集任務(wù)(支持批量網(wǎng)頁(yè)&lt; @采集)、自定義采集字段等,都很簡(jiǎn)單,鼠標點(diǎn)一下,官方還自帶入門(mén)教程,非常適合初學(xué)者學(xué)習:
  優(yōu)采云采集器這也是Windows平臺下一個(gè)非常不錯的爬蟲(chóng)數據采集工具。其基本功能與前兩款軟件類(lèi)似,集數據采集、處理、分析、挖掘于一體。在整個(gè)過(guò)程中,您可以輕松采集任何網(wǎng)頁(yè),通過(guò)分析準確挖掘信息。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  1.首先安裝優(yōu)采云采集器,可以直接從官網(wǎng)下載,如下,也是exe安裝包,雙擊安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接新建采集任務(wù),設置采集規則,自定義采集@ &gt; 字段。傻瓜式 的操作可以逐步進(jìn)行。官方也有自己的入門(mén)教程,非常詳細,非常適合初學(xué)者學(xué)習和掌握:
  至此,我們已經(jīng)完成了三個(gè)爬蟲(chóng)數據采集工具優(yōu)采云、優(yōu)采云和優(yōu)采云的安裝和使用??偟膩?lái)說(shuō),這三個(gè)軟件都很好。只要熟悉使用流程,就能很快掌握。當然,如果你熟悉Python等編程語(yǔ)言,也可以編程實(shí)現網(wǎng)絡(luò )數據爬取。網(wǎng)上也有相關(guān)教程。還有資料,介紹的很詳細。如果你有興趣,你可以搜索一下。希望以上分享的內容對您有所幫助。也歡迎大家評論和留言補充。 查看全部

  自動(dòng)采集編寫(xiě)(3個(gè)非常不錯的爬蟲(chóng)數據采集工具,輕松輕松采集)
  當然有。下面我簡(jiǎn)單介紹3個(gè)非常好的爬蟲(chóng)數據采集工具,分別是優(yōu)采云dede自動(dòng)采集教程,優(yōu)采云和優(yōu)采云,適用于大部分網(wǎng)絡(luò )(網(wǎng)頁(yè)) 數據,這三個(gè)軟件都可以輕松采集,而且不需要寫(xiě)一行代碼,感興趣的朋友可以試試:
  
  優(yōu)采云采集器這是一個(gè)免費的dede自動(dòng)采集教程,跨平臺爬蟲(chóng)數據采集工具,完全免費供個(gè)人使用,基于人工智能技術(shù),可以自動(dòng)識別網(wǎng)頁(yè)元素和內容(包括表格、列表等),支持自動(dòng)翻頁(yè)和文件導出功能,使用非常方便。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  
  1.首先dede自動(dòng)采集教程,安裝優(yōu)采云采集器,直接從官網(wǎng)下載,如下,每個(gè)平臺都有版本,選擇適合您平臺的一款可以:
  
  
  2.安裝完成后,dede自動(dòng)采集教程,打開(kāi)本軟件,主界面如下,直接輸入需要采集的網(wǎng)頁(yè)地址,軟件會(huì )自動(dòng)識別網(wǎng)頁(yè)中的數據,并嘗試翻頁(yè)功能:
  
  
  以智聯(lián)招聘數據為例,dede自動(dòng)采集教程會(huì )自動(dòng)識別網(wǎng)頁(yè)中可以為采集的信息,非常方便。您還可以自定義 采集 規則以刪除不必要的字段:
  
  優(yōu)采云采集器這也是一個(gè)很好的爬蟲(chóng)數據采集工具,目前主要用于Windows平臺,內置大量數據采集模板,你可以輕松采集天貓、京東等熱門(mén)網(wǎng)站,我簡(jiǎn)單介紹一下這款軟件的安裝和使用:
  1.首先,安裝優(yōu)采云采集器,也可以直接從官網(wǎng)下載,如下,一個(gè)exe安裝包,直接安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接選擇采集方法,新建采集任務(wù)(支持批量網(wǎng)頁(yè)&lt; @采集)、自定義采集字段等,都很簡(jiǎn)單,鼠標點(diǎn)一下,官方還自帶入門(mén)教程,非常適合初學(xué)者學(xué)習:
  優(yōu)采云采集器這也是Windows平臺下一個(gè)非常不錯的爬蟲(chóng)數據采集工具。其基本功能與前兩款軟件類(lèi)似,集數據采集、處理、分析、挖掘于一體。在整個(gè)過(guò)程中,您可以輕松采集任何網(wǎng)頁(yè),通過(guò)分析準確挖掘信息。下面簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用:
  1.首先安裝優(yōu)采云采集器,可以直接從官網(wǎng)下載,如下,也是exe安裝包,雙擊安裝即可:
  2.安裝完成后打開(kāi)軟件,主界面如下,然后我們可以直接新建采集任務(wù),設置采集規則,自定義采集@ &gt; 字段。傻瓜式 的操作可以逐步進(jìn)行。官方也有自己的入門(mén)教程,非常詳細,非常適合初學(xué)者學(xué)習和掌握:
  至此,我們已經(jīng)完成了三個(gè)爬蟲(chóng)數據采集工具優(yōu)采云、優(yōu)采云和優(yōu)采云的安裝和使用??偟膩?lái)說(shuō),這三個(gè)軟件都很好。只要熟悉使用流程,就能很快掌握。當然,如果你熟悉Python等編程語(yǔ)言,也可以編程實(shí)現網(wǎng)絡(luò )數據爬取。網(wǎng)上也有相關(guān)教程。還有資料,介紹的很詳細。如果你有興趣,你可以搜索一下。希望以上分享的內容對您有所幫助。也歡迎大家評論和留言補充。

自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)第一篇論文等方法的第四章)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 162 次瀏覽 ? 2022-01-24 08:01 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)第一篇論文等方法的第四章)
  自動(dòng)采集編寫(xiě)第一篇論文,到現在已經(jīng)有一周時(shí)間了,這期間經(jīng)歷了很多痛苦的事情,我也有過(guò)信心喪失、發(fā)呆、起身的低谷。在一篇連續七天沒(méi)有出頭的情況下,我都不想讓人知道自己到底寫(xiě)了啥,既然要寫(xiě)這么多,那么自然都是要匯總到最后的。這周的主題是關(guān)于普通聚類(lèi)的一些工作和理解,包括pca/ica等方法的理解,目的都是為了解決問(wèn)題。
  聚類(lèi)已經(jīng)是一個(gè)非?;A的工作了,我初中看過(guò)一些關(guān)于國內學(xué)者的介紹,深以為然,基本現有的檢測技術(shù)都可以用聚類(lèi)的方法來(lái)進(jìn)行檢測。我剛進(jìn)入研究生的時(shí)候,當時(shí)使用最多的是依靠尺度/通道自動(dòng)篩選的方法,這種聚類(lèi)方法的問(wèn)題在于的問(wèn)題是無(wú)法對不同圖像元素進(jìn)行區分,當然這也是因為當時(shí)的數據本身很稀疏,且數據分類(lèi)質(zhì)量并不高,才會(huì )出現這種問(wèn)題。
  現在從事數據挖掘方面的工作也近十年了,發(fā)現目前所有關(guān)于無(wú)監督的聚類(lèi)方法,都存在著(zhù)很多問(wèn)題,有興趣的讀者可以在文末留言,相信下面會(huì )有解決方案。在第二篇講解ica等方法的第四章里,提到的性質(zhì)是準確度高、擴展性差的問(wèn)題,也許這樣說(shuō)確實(shí)有失偏頗,但我認為ica算法在實(shí)際應用中并不存在太大問(wèn)題,這些問(wèn)題是基于計算復雜度的目的導致的。
  同時(shí)在此過(guò)程中還發(fā)現了一些問(wèn)題,比如我們所面臨的數據庫其實(shí)很雜亂,隨便找一張看起來(lái)像的數據都可以聚到一起,這樣真的很難進(jìn)行很高效的聚類(lèi)工作??匆恍┤毡镜臄祿?,可以發(fā)現三三相似是一個(gè)很奇怪的形狀,m3圖數據集里三三相似還可以接受,但在中國的三三相似圖像數據集里就不行了,在調查過(guò)程中,發(fā)現他們的數據庫其實(shí)是非常具有技術(shù)含量的,仔細想想的話(huà),就覺(jué)得我們需要從好的方面看待問(wèn)題。
  確實(shí),在當下的聚類(lèi)里面,基本上只有一種單尺度聚類(lèi)方法,那就是pca或者ica,但隨著(zhù)機器學(xué)習和深度學(xué)習的發(fā)展,深度學(xué)習和卷積神經(jīng)網(wǎng)絡(luò )都可以有很好的聚類(lèi)效果。為什么不同尺度的聚類(lèi)可以進(jìn)行互聚,同時(shí)ica和pca算法都是基于數據的稀疏性來(lái)實(shí)現的,就是說(shuō)每個(gè)數據點(diǎn)之間都是互相不重疊的,這樣就實(shí)現了所謂的「多尺度聚類(lèi)」。
  但我在其他的文章當中也講到過(guò),這種多尺度是不一定需要經(jīng)過(guò)網(wǎng)絡(luò )的,也就是聚類(lèi)算法本身并不包含這一項,這是一個(gè)思維誤區。同時(shí),本篇文章同樣有一些問(wèn)題在里面,為了降低讀者的理解門(mén)檻,下面我在這個(gè)片段就不解釋了。另外一方面,在實(shí)踐過(guò)程中會(huì )遇到的問(wèn)題其實(shí)是所謂的迭代問(wèn)題,多尺度聚類(lèi)方法往往需要迭代多次,特別是pca或者ica這種高層次的方法,這樣無(wú)形當中增加了壓力,或者說(shuō)時(shí)間成本。這會(huì )使得一個(gè)聚類(lèi)算法算法性能不再穩定,這是。 查看全部

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)第一篇論文等方法的第四章)
  自動(dòng)采集編寫(xiě)第一篇論文,到現在已經(jīng)有一周時(shí)間了,這期間經(jīng)歷了很多痛苦的事情,我也有過(guò)信心喪失、發(fā)呆、起身的低谷。在一篇連續七天沒(méi)有出頭的情況下,我都不想讓人知道自己到底寫(xiě)了啥,既然要寫(xiě)這么多,那么自然都是要匯總到最后的。這周的主題是關(guān)于普通聚類(lèi)的一些工作和理解,包括pca/ica等方法的理解,目的都是為了解決問(wèn)題。
  聚類(lèi)已經(jīng)是一個(gè)非?;A的工作了,我初中看過(guò)一些關(guān)于國內學(xué)者的介紹,深以為然,基本現有的檢測技術(shù)都可以用聚類(lèi)的方法來(lái)進(jìn)行檢測。我剛進(jìn)入研究生的時(shí)候,當時(shí)使用最多的是依靠尺度/通道自動(dòng)篩選的方法,這種聚類(lèi)方法的問(wèn)題在于的問(wèn)題是無(wú)法對不同圖像元素進(jìn)行區分,當然這也是因為當時(shí)的數據本身很稀疏,且數據分類(lèi)質(zhì)量并不高,才會(huì )出現這種問(wèn)題。
  現在從事數據挖掘方面的工作也近十年了,發(fā)現目前所有關(guān)于無(wú)監督的聚類(lèi)方法,都存在著(zhù)很多問(wèn)題,有興趣的讀者可以在文末留言,相信下面會(huì )有解決方案。在第二篇講解ica等方法的第四章里,提到的性質(zhì)是準確度高、擴展性差的問(wèn)題,也許這樣說(shuō)確實(shí)有失偏頗,但我認為ica算法在實(shí)際應用中并不存在太大問(wèn)題,這些問(wèn)題是基于計算復雜度的目的導致的。
  同時(shí)在此過(guò)程中還發(fā)現了一些問(wèn)題,比如我們所面臨的數據庫其實(shí)很雜亂,隨便找一張看起來(lái)像的數據都可以聚到一起,這樣真的很難進(jìn)行很高效的聚類(lèi)工作??匆恍┤毡镜臄祿?,可以發(fā)現三三相似是一個(gè)很奇怪的形狀,m3圖數據集里三三相似還可以接受,但在中國的三三相似圖像數據集里就不行了,在調查過(guò)程中,發(fā)現他們的數據庫其實(shí)是非常具有技術(shù)含量的,仔細想想的話(huà),就覺(jué)得我們需要從好的方面看待問(wèn)題。
  確實(shí),在當下的聚類(lèi)里面,基本上只有一種單尺度聚類(lèi)方法,那就是pca或者ica,但隨著(zhù)機器學(xué)習和深度學(xué)習的發(fā)展,深度學(xué)習和卷積神經(jīng)網(wǎng)絡(luò )都可以有很好的聚類(lèi)效果。為什么不同尺度的聚類(lèi)可以進(jìn)行互聚,同時(shí)ica和pca算法都是基于數據的稀疏性來(lái)實(shí)現的,就是說(shuō)每個(gè)數據點(diǎn)之間都是互相不重疊的,這樣就實(shí)現了所謂的「多尺度聚類(lèi)」。
  但我在其他的文章當中也講到過(guò),這種多尺度是不一定需要經(jīng)過(guò)網(wǎng)絡(luò )的,也就是聚類(lèi)算法本身并不包含這一項,這是一個(gè)思維誤區。同時(shí),本篇文章同樣有一些問(wèn)題在里面,為了降低讀者的理解門(mén)檻,下面我在這個(gè)片段就不解釋了。另外一方面,在實(shí)踐過(guò)程中會(huì )遇到的問(wèn)題其實(shí)是所謂的迭代問(wèn)題,多尺度聚類(lèi)方法往往需要迭代多次,特別是pca或者ica這種高層次的方法,這樣無(wú)形當中增加了壓力,或者說(shuō)時(shí)間成本。這會(huì )使得一個(gè)聚類(lèi)算法算法性能不再穩定,這是。

自動(dòng)采集編寫(xiě)(如何使用采集功能去采集一個(gè)圖片類(lèi)的網(wǎng)站(組圖))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 176 次瀏覽 ? 2022-01-22 11:21 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(如何使用采集功能去采集一個(gè)圖片類(lèi)的網(wǎng)站(組圖))
  前言:本文章主要介紹如何使用采集函數來(lái)采集一個(gè)圖片類(lèi)網(wǎng)站。本次選擇的目標站點(diǎn)為:戰酷網(wǎng)名作鑒賞欄目,網(wǎng)址為:. 本文將介紹如何處理收錄 采集 分頁(yè)的頁(yè)面以及如何使用簡(jiǎn)單的過(guò)濾規則。本文分為三個(gè)部分: 第1部分主要介紹如何進(jìn)入采集界面以及添加新采集節點(diǎn)的第一步:設置基本信息和URL索引頁(yè)面規則;第二節,主要是引入新的采集節點(diǎn)的第二步:設置字段獲取規則;第三節主要介紹采集如何指定節點(diǎn)以及如何導出采集內容。
  進(jìn)入下面的第一部分。
  1.1進(jìn)入采集節點(diǎn)管理界面
  如圖1),在后臺管理界面主菜單點(diǎn)擊“采集”,再點(diǎn)擊“采集節點(diǎn)管理”進(jìn)入采集節點(diǎn)管理界面,如圖(圖2).
  
  圖 1 - 后臺管理界面
  
  圖2-采集節點(diǎn)管理界面
  1.2. 添加新節點(diǎn)
  在采集節點(diǎn)管理界面,點(diǎn)擊左下角“添加新節點(diǎn)”或右上角“添加新節點(diǎn)”(如圖2),可以輸入“選擇內容模型”界面,如(如圖3),
  
  圖 3 - 選擇內容模型界面
  在“選擇內容模型”界面的下拉列表框中,有“普通文章”和“圖片采集”可供選擇。
  根據頁(yè)面類(lèi)型為采集,選擇對應的內容模型。本文選擇“圖片采集”,點(diǎn)擊確定,即可進(jìn)入“添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則”界面,如圖(圖4)@ &gt; ,
  
  圖4 - 添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  1.2.1 設置節點(diǎn)基本信息
  
  圖 5 - 節點(diǎn)基本信息
  如圖(圖5),這里只是獲取“目標頁(yè)面代碼”的方法,其他設置請參考前面的文章。具體操作步驟:
  (a) 打開(kāi) 采集: 所針對的目標頁(yè)面;
  (b) 右擊選擇“查看源文件”找到“charset”,如圖(圖6),
  
  圖 6 - 查看源文件
  等號后面的代碼就是需要填寫(xiě)的“編碼格式”,這里是“utf-8”。
  填寫(xiě)后,如圖(圖7),
  
  圖 7 - 設置后節點(diǎn)的基本信息
  檢查后,進(jìn)入下一步。
  1.2.2 設置列表URL獲取規則
  
  圖 8 - 列出 URL 獲取規則
  如(圖8),這里是設置采集的文章列表頁(yè)的匹配規則。具體步驟:
  (a) 首先,回到打開(kāi)的列表頁(yè)面,找到瀏覽器的URL地址欄中顯示的URL和頁(yè)面的分頁(yè)符部分。如(圖9)和(圖10))所示,
  
  圖 9 - 瀏覽器的 URL 地址欄
  
  圖 10 - 頁(yè)面提要
  (b) 點(diǎn)擊“2”打開(kāi)文章列表頁(yè)面的第二頁(yè),再次找到瀏覽器的URL地址欄顯示的URL和頁(yè)面的換頁(yè)部分,如圖(圖12)和(如圖13),
  
  圖 11 - 第二頁(yè)的 URL
  
  圖 12 - 第二頁(yè)上的換頁(yè)
  (c) 在打開(kāi)的列表頁(yè)第二頁(yè),點(diǎn)擊(1)返回列表頁(yè)第一頁(yè),頁(yè)面換頁(yè)部分同上圖10,只是瀏覽器URL地址欄顯示的URL與上圖9不同,如圖(圖13),
  
  圖 13 - 第一個(gè)頁(yè)面的 URL
  (d) 由(b)和(c)可知,這里采集的列表頁(yè)的URL遵循如下規則:
  !0!0!200!(*)!1!0!0/. 為了安全起見(jiàn),請為自己測試更多列表頁(yè)面。規則確定后,在“匹配網(wǎng)址”中,填寫(xiě)列表頁(yè)后面的規則。
  (e) 最后,根據需要指定采集的頁(yè)碼或常規數,并設置其遞增規則。
  至此,“List URL獲取規則”部分就設置好了。最終結果,如圖(圖14)@>,
  
  圖 14 - 設置后的 URL 獲取規則列表
  確認無(wú)誤后,進(jìn)行下一步。
  1.2.3設置文章網(wǎng)址匹配規則
  
  圖 15 - 文章 URL 匹配規則
  下面是設置采集列表頁(yè)的匹配規則。
  具體步驟:
   (a)對于“區域開(kāi)始的HTML”,可以在已打開(kāi)的列表首頁(yè),單擊右鍵后選擇“查看源文件”查找出第一篇文章的標題“高清壁紙”來(lái)獲得,如(圖16)所示,
  
  圖 16 - 查看源文件中第一個(gè) 文章 的標題
  通過(guò)觀(guān)察不難看出,“”是整個(gè)列表的結尾,后面的“”是頁(yè)面的分頁(yè)符。所以,在“HTML 結尾區域”中,應該用“”填充,意思是到第一個(gè)結尾。
  (c) 觀(guān)察圖16和圖17中文章的標題部分,可以發(fā)現標題的鏈接地址收錄“=.html”。因此,在“必須收錄”中,填寫(xiě)“=.html”。
  至此,“文章URL匹配規則”就設置好了。填寫(xiě)后,如圖(圖18),
  
  圖 18 - 文章 設置后的 URL 匹配規則
  通過(guò)以上三個(gè)小節,已經(jīng)設置了添加采集節點(diǎn)的第一步。設置后的最終結果,如圖(圖19),
  
  圖19 - 設置后新增采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  全部完成并勾選后,點(diǎn)擊“保存信息并進(jìn)入下一步”。如果前面設置正確,點(diǎn)擊后會(huì )進(jìn)入“添加采集節點(diǎn):測試URL索引頁(yè)面規則設置的基本信息和URL獲取規則測試”頁(yè)面,看到對應的文章列表地址. 如圖(圖20),
  
  圖 20 - URL 獲取規則測試
  確認無(wú)誤后,點(diǎn)擊“保存信息并進(jìn)入下一步”。否則,單擊“返回上一步進(jìn)行更改”。
  至此,第一章結束
  2.1增加了一個(gè)采集節點(diǎn):第二步設置內容字段獲取規則
  點(diǎn)擊“保存信息并進(jìn)入下一步”后,可以進(jìn)入“添加采集節點(diǎn):步驟2設置內容字段獲取規則”頁(yè)面,如圖(圖21),
  
  圖 21 - 設置內容字段獲取規則
  在預覽網(wǎng)址,系統會(huì )自動(dòng)指定一個(gè)文章作為演示頁(yè)面,如有特殊需要可自行更改。打開(kāi)演示頁(yè)面,觀(guān)察頁(yè)面收錄分頁(yè),如圖(圖22),
  
  圖 22 - 分頁(yè)
  讓我們?yōu)榉猪?yè)部分設置匹配規則。
  具體步驟:
  (a) 在頁(yè)面的源碼中,找到分頁(yè)代碼的開(kāi)頭和結尾,如圖(圖23),
  
  圖 23 - 分頁(yè)代碼
  (b) 觀(guān)察可見(jiàn)分頁(yè)碼位于“
  “和”
  ”。因此,在“內容分頁(yè)導航所在區域匹配規則”中,應填寫(xiě)“[內容] 查看全部

  自動(dòng)采集編寫(xiě)(如何使用采集功能去采集一個(gè)圖片類(lèi)的網(wǎng)站(組圖))
  前言:本文章主要介紹如何使用采集函數來(lái)采集一個(gè)圖片類(lèi)網(wǎng)站。本次選擇的目標站點(diǎn)為:戰酷網(wǎng)名作鑒賞欄目,網(wǎng)址為:. 本文將介紹如何處理收錄 采集 分頁(yè)的頁(yè)面以及如何使用簡(jiǎn)單的過(guò)濾規則。本文分為三個(gè)部分: 第1部分主要介紹如何進(jìn)入采集界面以及添加新采集節點(diǎn)的第一步:設置基本信息和URL索引頁(yè)面規則;第二節,主要是引入新的采集節點(diǎn)的第二步:設置字段獲取規則;第三節主要介紹采集如何指定節點(diǎn)以及如何導出采集內容。
  進(jìn)入下面的第一部分。
  1.1進(jìn)入采集節點(diǎn)管理界面
  如圖1),在后臺管理界面主菜單點(diǎn)擊“采集”,再點(diǎn)擊“采集節點(diǎn)管理”進(jìn)入采集節點(diǎn)管理界面,如圖(圖2).
  
  圖 1 - 后臺管理界面
  
  圖2-采集節點(diǎn)管理界面
  1.2. 添加新節點(diǎn)
  在采集節點(diǎn)管理界面,點(diǎn)擊左下角“添加新節點(diǎn)”或右上角“添加新節點(diǎn)”(如圖2),可以輸入“選擇內容模型”界面,如(如圖3),
  
  圖 3 - 選擇內容模型界面
  在“選擇內容模型”界面的下拉列表框中,有“普通文章”和“圖片采集”可供選擇。
  根據頁(yè)面類(lèi)型為采集,選擇對應的內容模型。本文選擇“圖片采集”,點(diǎn)擊確定,即可進(jìn)入“添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則”界面,如圖(圖4)@ &gt; ,
  
  圖4 - 添加采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  1.2.1 設置節點(diǎn)基本信息
  
  圖 5 - 節點(diǎn)基本信息
  如圖(圖5),這里只是獲取“目標頁(yè)面代碼”的方法,其他設置請參考前面的文章。具體操作步驟:
  (a) 打開(kāi) 采集: 所針對的目標頁(yè)面;
  (b) 右擊選擇“查看源文件”找到“charset”,如圖(圖6),
  
  圖 6 - 查看源文件
  等號后面的代碼就是需要填寫(xiě)的“編碼格式”,這里是“utf-8”。
  填寫(xiě)后,如圖(圖7),
  
  圖 7 - 設置后節點(diǎn)的基本信息
  檢查后,進(jìn)入下一步。
  1.2.2 設置列表URL獲取規則
  
  圖 8 - 列出 URL 獲取規則
  如(圖8),這里是設置采集的文章列表頁(yè)的匹配規則。具體步驟:
  (a) 首先,回到打開(kāi)的列表頁(yè)面,找到瀏覽器的URL地址欄中顯示的URL和頁(yè)面的分頁(yè)符部分。如(圖9)和(圖10))所示,
  
  圖 9 - 瀏覽器的 URL 地址欄
  
  圖 10 - 頁(yè)面提要
  (b) 點(diǎn)擊“2”打開(kāi)文章列表頁(yè)面的第二頁(yè),再次找到瀏覽器的URL地址欄顯示的URL和頁(yè)面的換頁(yè)部分,如圖(圖12)和(如圖13),
  
  圖 11 - 第二頁(yè)的 URL
  
  圖 12 - 第二頁(yè)上的換頁(yè)
  (c) 在打開(kāi)的列表頁(yè)第二頁(yè),點(diǎn)擊(1)返回列表頁(yè)第一頁(yè),頁(yè)面換頁(yè)部分同上圖10,只是瀏覽器URL地址欄顯示的URL與上圖9不同,如圖(圖13),
  
  圖 13 - 第一個(gè)頁(yè)面的 URL
  (d) 由(b)和(c)可知,這里采集的列表頁(yè)的URL遵循如下規則:
  !0!0!200!(*)!1!0!0/. 為了安全起見(jiàn),請為自己測試更多列表頁(yè)面。規則確定后,在“匹配網(wǎng)址”中,填寫(xiě)列表頁(yè)后面的規則。
  (e) 最后,根據需要指定采集的頁(yè)碼或常規數,并設置其遞增規則。
  至此,“List URL獲取規則”部分就設置好了。最終結果,如圖(圖14)@>,
  
  圖 14 - 設置后的 URL 獲取規則列表
  確認無(wú)誤后,進(jìn)行下一步。
  1.2.3設置文章網(wǎng)址匹配規則
  
  圖 15 - 文章 URL 匹配規則
  下面是設置采集列表頁(yè)的匹配規則。
  具體步驟:
   (a)對于“區域開(kāi)始的HTML”,可以在已打開(kāi)的列表首頁(yè),單擊右鍵后選擇“查看源文件”查找出第一篇文章的標題“高清壁紙”來(lái)獲得,如(圖16)所示,
  
  圖 16 - 查看源文件中第一個(gè) 文章 的標題
  通過(guò)觀(guān)察不難看出,“”是整個(gè)列表的結尾,后面的“”是頁(yè)面的分頁(yè)符。所以,在“HTML 結尾區域”中,應該用“”填充,意思是到第一個(gè)結尾。
  (c) 觀(guān)察圖16和圖17中文章的標題部分,可以發(fā)現標題的鏈接地址收錄“=.html”。因此,在“必須收錄”中,填寫(xiě)“=.html”。
  至此,“文章URL匹配規則”就設置好了。填寫(xiě)后,如圖(圖18),
  
  圖 18 - 文章 設置后的 URL 匹配規則
  通過(guò)以上三個(gè)小節,已經(jīng)設置了添加采集節點(diǎn)的第一步。設置后的最終結果,如圖(圖19),
  
  圖19 - 設置后新增采集節點(diǎn):第一步設置基本信息和URL索引頁(yè)面規則
  全部完成并勾選后,點(diǎn)擊“保存信息并進(jìn)入下一步”。如果前面設置正確,點(diǎn)擊后會(huì )進(jìn)入“添加采集節點(diǎn):測試URL索引頁(yè)面規則設置的基本信息和URL獲取規則測試”頁(yè)面,看到對應的文章列表地址. 如圖(圖20),
  
  圖 20 - URL 獲取規則測試
  確認無(wú)誤后,點(diǎn)擊“保存信息并進(jìn)入下一步”。否則,單擊“返回上一步進(jìn)行更改”。
  至此,第一章結束
  2.1增加了一個(gè)采集節點(diǎn):第二步設置內容字段獲取規則
  點(diǎn)擊“保存信息并進(jìn)入下一步”后,可以進(jìn)入“添加采集節點(diǎn):步驟2設置內容字段獲取規則”頁(yè)面,如圖(圖21),
  
  圖 21 - 設置內容字段獲取規則
  在預覽網(wǎng)址,系統會(huì )自動(dòng)指定一個(gè)文章作為演示頁(yè)面,如有特殊需要可自行更改。打開(kāi)演示頁(yè)面,觀(guān)察頁(yè)面收錄分頁(yè),如圖(圖22),
  
  圖 22 - 分頁(yè)
  讓我們?yōu)榉猪?yè)部分設置匹配規則。
  具體步驟:
  (a) 在頁(yè)面的源碼中,找到分頁(yè)代碼的開(kāi)頭和結尾,如圖(圖23),
  
  圖 23 - 分頁(yè)代碼
  (b) 觀(guān)察可見(jiàn)分頁(yè)碼位于“
  “和”
  ”。因此,在“內容分頁(yè)導航所在區域匹配規則”中,應填寫(xiě)“[內容]

自動(dòng)采集編寫(xiě)(web反編譯漏洞利用及調試,如何防范sql注入?)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 165 次瀏覽 ? 2022-01-22 07:03 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(web反編譯漏洞利用及調試,如何防范sql注入?)
  自動(dòng)采集編寫(xiě)sql對于web安全領(lǐng)域有極大的價(jià)值,很大一部分原因是因為語(yǔ)法簡(jiǎn)單,容易入門(mén)。一個(gè)簡(jiǎn)單的web安全漏洞入口,幾分鐘內便可以寫(xiě)出sql注入的漏洞利用。同時(shí)目前還有很多的sql注入工具,可以很方便地編寫(xiě)調試自己的sql注入工具。想完成怎么樣的自動(dòng)化?web反編譯漏洞利用及調試,會(huì )java或c#之后,可以編寫(xiě)sql反編譯。
  通過(guò)偽裝程序,寫(xiě)上一些鉤子(用來(lái)攻擊服務(wù)器),來(lái)完成對后臺系統的監控。一般是寫(xiě)腳本,然后有一堆連接,通過(guò)監控連接的返回內容來(lái)調試。相對于之前已有的java、c#反編譯工具,可以寫(xiě)出像exp,fastdom,faithfulfuck這樣的自動(dòng)化反編譯工具。在定位到漏洞后還有需要解決的問(wèn)題,一是:權限認證,root權限下,還是需要提權二是:表的處理比如table掃描后是否也需要判斷表名或者頁(yè)面腳本的內容,如果判斷錯誤,是否還需要修改三是:外掛這一部分暫時(shí)只能是利用人工進(jìn)行。
  當遇到未知漏洞的時(shí)候,怎么找到爆發(fā)的地方呢?爆發(fā)點(diǎn)?前端腳本或者利用php的sql注入漏洞抓取的頁(yè)面?經(jīng)過(guò)整理以后,這篇文章中主要介紹sql注入web漏洞,結合sqlmap抓取出來(lái)的頁(yè)面,并提出如何防范sql注入。sql注入問(wèn)題我在之前的文章中說(shuō)過(guò),middleware可以幫我們攻擊我們的目標站點(diǎn),獲取并利用一個(gè)java類(lèi)在服務(wù)器生成惡意代碼或者非本站點(diǎn)的代碼。
  sqlmap是解決web漏洞問(wèn)題,非要拿sqlmap抓包截圖,我還真沒(méi)有。只能看看截圖描述了,sqlmap的具體配置和上面文章說(shuō)的一樣。sqlmap和sqlmap代碼對比:sqlmap看圖說(shuō)話(huà),先抓腳本和非腳本的數據,然后判斷頁(yè)面中的username,method和data值,然后下發(fā)對應的權限數據給頁(yè)面的web服務(wù)器。
  php的文件結構:class/request.phpheader='post://';content-type="application/x-www-form-urlencoded"accept-encoding="gzip,deflate"*[@data]=categoryrestrict;charset=utf-8accept-language="zh-cn,zh;q=0.8"[@data]=_"writable=1"connection:keep-alive=truemultipart/form-data(.*)[@data]=post/'get'://'post':''accept-language="zh-cn,zh;q=0.8".get/temp[@data]=usernamecontent-type="application/x-www-form-urlencoded".get/form-data[@data]=methodaccept-encoding="gzip,deflate"[@data]=dataconnection:keep-alive'accept-language="zh-cn,zh。 查看全部

  自動(dòng)采集編寫(xiě)(web反編譯漏洞利用及調試,如何防范sql注入?)
  自動(dòng)采集編寫(xiě)sql對于web安全領(lǐng)域有極大的價(jià)值,很大一部分原因是因為語(yǔ)法簡(jiǎn)單,容易入門(mén)。一個(gè)簡(jiǎn)單的web安全漏洞入口,幾分鐘內便可以寫(xiě)出sql注入的漏洞利用。同時(shí)目前還有很多的sql注入工具,可以很方便地編寫(xiě)調試自己的sql注入工具。想完成怎么樣的自動(dòng)化?web反編譯漏洞利用及調試,會(huì )java或c#之后,可以編寫(xiě)sql反編譯。
  通過(guò)偽裝程序,寫(xiě)上一些鉤子(用來(lái)攻擊服務(wù)器),來(lái)完成對后臺系統的監控。一般是寫(xiě)腳本,然后有一堆連接,通過(guò)監控連接的返回內容來(lái)調試。相對于之前已有的java、c#反編譯工具,可以寫(xiě)出像exp,fastdom,faithfulfuck這樣的自動(dòng)化反編譯工具。在定位到漏洞后還有需要解決的問(wèn)題,一是:權限認證,root權限下,還是需要提權二是:表的處理比如table掃描后是否也需要判斷表名或者頁(yè)面腳本的內容,如果判斷錯誤,是否還需要修改三是:外掛這一部分暫時(shí)只能是利用人工進(jìn)行。
  當遇到未知漏洞的時(shí)候,怎么找到爆發(fā)的地方呢?爆發(fā)點(diǎn)?前端腳本或者利用php的sql注入漏洞抓取的頁(yè)面?經(jīng)過(guò)整理以后,這篇文章中主要介紹sql注入web漏洞,結合sqlmap抓取出來(lái)的頁(yè)面,并提出如何防范sql注入。sql注入問(wèn)題我在之前的文章中說(shuō)過(guò),middleware可以幫我們攻擊我們的目標站點(diǎn),獲取并利用一個(gè)java類(lèi)在服務(wù)器生成惡意代碼或者非本站點(diǎn)的代碼。
  sqlmap是解決web漏洞問(wèn)題,非要拿sqlmap抓包截圖,我還真沒(méi)有。只能看看截圖描述了,sqlmap的具體配置和上面文章說(shuō)的一樣。sqlmap和sqlmap代碼對比:sqlmap看圖說(shuō)話(huà),先抓腳本和非腳本的數據,然后判斷頁(yè)面中的username,method和data值,然后下發(fā)對應的權限數據給頁(yè)面的web服務(wù)器。
  php的文件結構:class/request.phpheader='post://';content-type="application/x-www-form-urlencoded"accept-encoding="gzip,deflate"*[@data]=categoryrestrict;charset=utf-8accept-language="zh-cn,zh;q=0.8"[@data]=_"writable=1"connection:keep-alive=truemultipart/form-data(.*)[@data]=post/'get'://'post':''accept-language="zh-cn,zh;q=0.8".get/temp[@data]=usernamecontent-type="application/x-www-form-urlencoded".get/form-data[@data]=methodaccept-encoding="gzip,deflate"[@data]=dataconnection:keep-alive'accept-language="zh-cn,zh。

自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 169 次瀏覽 ? 2022-01-22 05:04 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù))
  自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù)加速收集更多采集自動(dòng)爬取微信公眾號后臺,回復“自動(dòng)采集”,獲取地址你可以一邊寫(xiě)代碼一邊玩:但要記住你的代碼要在你的計算機上運行時(shí),要在系統防火墻中進(jìn)行過(guò)濾。安裝依賴(lài)性()python版本如果是3.6或3.7,則需要先安裝以下依賴(lài)性(如果使用python3.3,則需要添加pip3)自動(dòng)采集編寫(xiě)器如果有類(lèi)似爬蟲(chóng)類(lèi)型的編程經(jīng)驗,學(xué)習起來(lái)較為容易,因為這些技術(shù)大部分都是相通的。
  安裝爬蟲(chóng)類(lèi)型編程技術(shù)方面的軟件,則必須詳細了解一下如何安裝。自動(dòng)采集寫(xiě)器采集腳本則是使用自動(dòng)化代碼生成系統來(lái)執行代碼寫(xiě)法。簡(jiǎn)單說(shuō),就是自動(dòng)生成代碼來(lái)采集、去重、分析和查詢(xún)。采集腳本的腳本名字是生成腳本名字的關(guān)鍵因素,因此它可以產(chǎn)生一個(gè)簡(jiǎn)短的代碼。如果添加一個(gè)關(guān)鍵字,腳本名字就會(huì )變得更長(cháng)一些。也可以直接使用輸入關(guān)鍵字后的分號結束符代替分號結束符,否則腳本名字就不會(huì )自動(dòng)變長(cháng)。
  2019年了,還看什么python爬蟲(chóng),趕緊學(xué)其他賺錢(qián)的技術(shù).python能夠輕松做到的事情太多了,爬蟲(chóng)基本已經(jīng)被淘汰,另外,要學(xué)會(huì )自我引導,自己思考怎么繞過(guò)瀏覽器的反爬蟲(chóng)機制。這里是我自己的python社區,里面有爬蟲(chóng), 查看全部

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù))
  自動(dòng)采集編寫(xiě)器,可以調試代碼自動(dòng)生成采集腳本自動(dòng)開(kāi)啟googleservice服務(wù)加速收集更多采集自動(dòng)爬取微信公眾號后臺,回復“自動(dòng)采集”,獲取地址你可以一邊寫(xiě)代碼一邊玩:但要記住你的代碼要在你的計算機上運行時(shí),要在系統防火墻中進(jìn)行過(guò)濾。安裝依賴(lài)性()python版本如果是3.6或3.7,則需要先安裝以下依賴(lài)性(如果使用python3.3,則需要添加pip3)自動(dòng)采集編寫(xiě)器如果有類(lèi)似爬蟲(chóng)類(lèi)型的編程經(jīng)驗,學(xué)習起來(lái)較為容易,因為這些技術(shù)大部分都是相通的。
  安裝爬蟲(chóng)類(lèi)型編程技術(shù)方面的軟件,則必須詳細了解一下如何安裝。自動(dòng)采集寫(xiě)器采集腳本則是使用自動(dòng)化代碼生成系統來(lái)執行代碼寫(xiě)法。簡(jiǎn)單說(shuō),就是自動(dòng)生成代碼來(lái)采集、去重、分析和查詢(xún)。采集腳本的腳本名字是生成腳本名字的關(guān)鍵因素,因此它可以產(chǎn)生一個(gè)簡(jiǎn)短的代碼。如果添加一個(gè)關(guān)鍵字,腳本名字就會(huì )變得更長(cháng)一些。也可以直接使用輸入關(guān)鍵字后的分號結束符代替分號結束符,否則腳本名字就不會(huì )自動(dòng)變長(cháng)。
  2019年了,還看什么python爬蟲(chóng),趕緊學(xué)其他賺錢(qián)的技術(shù).python能夠輕松做到的事情太多了,爬蟲(chóng)基本已經(jīng)被淘汰,另外,要學(xué)會(huì )自我引導,自己思考怎么繞過(guò)瀏覽器的反爬蟲(chóng)機制。這里是我自己的python社區,里面有爬蟲(chóng),

自動(dòng)采集編寫(xiě)( 這是簡(jiǎn)易數據采集系列的第1篇文章。。(一) )

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 196 次瀏覽 ? 2022-01-19 18:03 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
這是簡(jiǎn)易數據采集系列的第1篇文章。。(一)
)
  
  這是 Easy Data 采集 系列 文章 中的第一篇。
  一、什么是網(wǎng)絡(luò )爬蟲(chóng)?
  網(wǎng)絡(luò )爬蟲(chóng),也稱(chēng)為網(wǎng)絡(luò )蜘蛛、網(wǎng)絡(luò )機器人和網(wǎng)絡(luò )跟蹤器;就像蜘蛛一樣,顧名思義,就是按照一定的規則自動(dòng)抓取網(wǎng)頁(yè)信息的程序或腳本。
  我們熟悉百度、谷歌和其他網(wǎng)絡(luò )搜索引擎,它們通過(guò)數以千計的爬蟲(chóng)程序更新其網(wǎng)站 內容或其他網(wǎng)站 的索引。網(wǎng)絡(luò )爬蟲(chóng)可以將訪(fǎng)問(wèn)的頁(yè)面保存到自己的服務(wù)器上,以便搜索引擎以后生成索引供用戶(hù)搜索。
  最通俗點(diǎn)就是讓程序自動(dòng)為你統計網(wǎng)頁(yè)上的數據。
  二、為什么要學(xué)習網(wǎng)絡(luò )爬蟲(chóng)?
  本文不會(huì )講過(guò)于復雜的程序爬蟲(chóng),只講web scraper,一個(gè)不需要寫(xiě)代碼的爬蟲(chóng)工具。一般只要這個(gè)工具能看到網(wǎng)頁(yè)上的信息,99%的都可以抓到。
  比如你要統計豆瓣電影的前250名名字、影評、評分等,你手動(dòng)復制粘貼到Excel中,大約需要一個(gè)小時(shí)。
  但是如果你知道爬蟲(chóng),配置爬取規則,程序會(huì )自動(dòng)幫你抓取,幾分鐘就能搞定。如果數據量很大,則需要更長(cháng)的時(shí)間。
  需要數據時(shí)采集:
  比如做一些市場(chǎng)調研和營(yíng)銷(xiāo)工作,往往需要采集數據分析,人工復制粘貼重復性工作,效率太低,經(jīng)常加班,不被領(lǐng)導認可;因此,有必要學(xué)會(huì )使用一些工具來(lái)提高工作效率,減少加班,多花點(diǎn)時(shí)間陪伴家人。
  在職場(chǎng)中,要不斷關(guān)注行業(yè)的技能要求和薪資分布,需要采集數據分析市場(chǎng)需求。
  股票分析師經(jīng)常需要采集上市公司的多份相關(guān)報告進(jìn)行分析。
  非計算機專(zhuān)業(yè)的同學(xué)需要快速爬取數據進(jìn)行數據分析才能寫(xiě)畢業(yè)論文。學(xué)習Python爬蟲(chóng)知識最好的選擇就是借助一些爬蟲(chóng)工具來(lái)輔助。
  這些都是生活中遇到的問(wèn)題。面對這些數據量的分析需求,利用非互聯(lián)網(wǎng)技術(shù)學(xué)習一些編程知識并不劃算;用于對數據進(jìn)行排序和分析的瀏覽器將為我們節省更多思考和決策的時(shí)間。
  三、主角出場(chǎng)時(shí)間到了——網(wǎng)絡(luò )爬蟲(chóng)
  web scraper 是一個(gè) Chrome 瀏覽器插件,用于處理網(wǎng)頁(yè)上的 采集 數據。它是一個(gè)封裝在程序中的爬蟲(chóng)工具。傻瓜式圖形界面操作,適合非專(zhuān)業(yè)人士使用。
  推薦理由:
  1、門(mén)檻夠低,只要你電腦上安裝了Chrome瀏覽器即可(其他火狐瀏覽器也支持,本教程只使用Chrome瀏覽器)。
  2、永久免費,無(wú)付費功能,無(wú)需注冊。
  3、操作簡(jiǎn)單,鼠標點(diǎn)幾下就可以爬取網(wǎng)頁(yè),真的是一個(gè)不用寫(xiě)代碼的爬蟲(chóng)。
  經(jīng)測試,可以爬取以下類(lèi)型網(wǎng)站:
  
  四、來(lái)吧!讓我們安裝它!由于 Web Scraper 是 Google Chrome 的附加組件,因此安裝它的最簡(jiǎn)單方法是使用 Chrome 網(wǎng)上應用店。我已經(jīng)安裝了它。
  
  但是我相信這個(gè)方法大部分朋友都用不上,因為在很久很久以前,國內一般是無(wú)法正常訪(fǎng)問(wèn)chrome在線(xiàn)應用商店的;那我怎樣才能打開(kāi)它并正常安裝呢?當然是在不尋常的情況下科學(xué)上網(wǎng)!哈哈(這個(gè)就不多解釋了)。
  別擔心,朋友們!
  我為您準備了另一種安裝方法。即在本公眾號回復【webs】即可獲取下載鏈接。
  1、下載解壓后會(huì )得到一個(gè).crx后綴的文件,就是chrome瀏覽器插件程序文件。
  
  2、重命名并改crx為rar(Mac用戶(hù)后綴改為zip),點(diǎn)擊確定即可得到一個(gè)rar壓縮文件。
  
  3、解壓安裝,解壓后如圖
  
  4、打開(kāi)chrome的擴展(設置-&gt;更多工具-&gt;擴展) chrome://extensions
  打開(kāi)右上角的【開(kāi)發(fā)者模式】,點(diǎn)擊左上角的【加載解壓的擴展】,選擇剛剛解壓的文件夾。
  
  
  5、顯示下圖說(shuō)明我們的chrome瀏覽器已經(jīng)成功安裝了Web Scraper插件。恭喜!
  
  萬(wàn)事開(kāi)頭難,但我們已經(jīng)解決了最難的骨頭。
  讓我們一起期待Web Scraper接下來(lái)基礎操作的魅力吧!害羞的臉~
   查看全部

  自動(dòng)采集編寫(xiě)(
這是簡(jiǎn)易數據采集系列的第1篇文章。。(一)
)
  
  這是 Easy Data 采集 系列 文章 中的第一篇。
  一、什么是網(wǎng)絡(luò )爬蟲(chóng)?
  網(wǎng)絡(luò )爬蟲(chóng),也稱(chēng)為網(wǎng)絡(luò )蜘蛛、網(wǎng)絡(luò )機器人和網(wǎng)絡(luò )跟蹤器;就像蜘蛛一樣,顧名思義,就是按照一定的規則自動(dòng)抓取網(wǎng)頁(yè)信息的程序或腳本。
  我們熟悉百度、谷歌和其他網(wǎng)絡(luò )搜索引擎,它們通過(guò)數以千計的爬蟲(chóng)程序更新其網(wǎng)站 內容或其他網(wǎng)站 的索引。網(wǎng)絡(luò )爬蟲(chóng)可以將訪(fǎng)問(wèn)的頁(yè)面保存到自己的服務(wù)器上,以便搜索引擎以后生成索引供用戶(hù)搜索。
  最通俗點(diǎn)就是讓程序自動(dòng)為你統計網(wǎng)頁(yè)上的數據。
  二、為什么要學(xué)習網(wǎng)絡(luò )爬蟲(chóng)?
  本文不會(huì )講過(guò)于復雜的程序爬蟲(chóng),只講web scraper,一個(gè)不需要寫(xiě)代碼的爬蟲(chóng)工具。一般只要這個(gè)工具能看到網(wǎng)頁(yè)上的信息,99%的都可以抓到。
  比如你要統計豆瓣電影的前250名名字、影評、評分等,你手動(dòng)復制粘貼到Excel中,大約需要一個(gè)小時(shí)。
  但是如果你知道爬蟲(chóng),配置爬取規則,程序會(huì )自動(dòng)幫你抓取,幾分鐘就能搞定。如果數據量很大,則需要更長(cháng)的時(shí)間。
  需要數據時(shí)采集:
  比如做一些市場(chǎng)調研和營(yíng)銷(xiāo)工作,往往需要采集數據分析,人工復制粘貼重復性工作,效率太低,經(jīng)常加班,不被領(lǐng)導認可;因此,有必要學(xué)會(huì )使用一些工具來(lái)提高工作效率,減少加班,多花點(diǎn)時(shí)間陪伴家人。
  在職場(chǎng)中,要不斷關(guān)注行業(yè)的技能要求和薪資分布,需要采集數據分析市場(chǎng)需求。
  股票分析師經(jīng)常需要采集上市公司的多份相關(guān)報告進(jìn)行分析。
  非計算機專(zhuān)業(yè)的同學(xué)需要快速爬取數據進(jìn)行數據分析才能寫(xiě)畢業(yè)論文。學(xué)習Python爬蟲(chóng)知識最好的選擇就是借助一些爬蟲(chóng)工具來(lái)輔助。
  這些都是生活中遇到的問(wèn)題。面對這些數據量的分析需求,利用非互聯(lián)網(wǎng)技術(shù)學(xué)習一些編程知識并不劃算;用于對數據進(jìn)行排序和分析的瀏覽器將為我們節省更多思考和決策的時(shí)間。
  三、主角出場(chǎng)時(shí)間到了——網(wǎng)絡(luò )爬蟲(chóng)
  web scraper 是一個(gè) Chrome 瀏覽器插件,用于處理網(wǎng)頁(yè)上的 采集 數據。它是一個(gè)封裝在程序中的爬蟲(chóng)工具。傻瓜式圖形界面操作,適合非專(zhuān)業(yè)人士使用。
  推薦理由:
  1、門(mén)檻夠低,只要你電腦上安裝了Chrome瀏覽器即可(其他火狐瀏覽器也支持,本教程只使用Chrome瀏覽器)。
  2、永久免費,無(wú)付費功能,無(wú)需注冊。
  3、操作簡(jiǎn)單,鼠標點(diǎn)幾下就可以爬取網(wǎng)頁(yè),真的是一個(gè)不用寫(xiě)代碼的爬蟲(chóng)。
  經(jīng)測試,可以爬取以下類(lèi)型網(wǎng)站:
  
  四、來(lái)吧!讓我們安裝它!由于 Web Scraper 是 Google Chrome 的附加組件,因此安裝它的最簡(jiǎn)單方法是使用 Chrome 網(wǎng)上應用店。我已經(jīng)安裝了它。
  
  但是我相信這個(gè)方法大部分朋友都用不上,因為在很久很久以前,國內一般是無(wú)法正常訪(fǎng)問(wèn)chrome在線(xiàn)應用商店的;那我怎樣才能打開(kāi)它并正常安裝呢?當然是在不尋常的情況下科學(xué)上網(wǎng)!哈哈(這個(gè)就不多解釋了)。
  別擔心,朋友們!
  我為您準備了另一種安裝方法。即在本公眾號回復【webs】即可獲取下載鏈接。
  1、下載解壓后會(huì )得到一個(gè).crx后綴的文件,就是chrome瀏覽器插件程序文件。
  
  2、重命名并改crx為rar(Mac用戶(hù)后綴改為zip),點(diǎn)擊確定即可得到一個(gè)rar壓縮文件。
  
  3、解壓安裝,解壓后如圖
  
  4、打開(kāi)chrome的擴展(設置-&gt;更多工具-&gt;擴展) chrome://extensions
  打開(kāi)右上角的【開(kāi)發(fā)者模式】,點(diǎn)擊左上角的【加載解壓的擴展】,選擇剛剛解壓的文件夾。
  
  
  5、顯示下圖說(shuō)明我們的chrome瀏覽器已經(jīng)成功安裝了Web Scraper插件。恭喜!
  
  萬(wàn)事開(kāi)頭難,但我們已經(jīng)解決了最難的骨頭。
  讓我們一起期待Web Scraper接下來(lái)基礎操作的魅力吧!害羞的臉~
  

自動(dòng)采集編寫(xiě)( AndroidStudio的Gradle插件含義及構建邏輯的含義和關(guān)系)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 171 次瀏覽 ? 2022-01-19 17:11 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
AndroidStudio的Gradle插件含義及構建邏輯的含義和關(guān)系)
  
  一、前言
  在上一篇文章 文章 中,我們了解到 Sensors Android 插件實(shí)際上是一個(gè)自定義的 Gradle 插件。Gradle 是一款專(zhuān)注于靈活性和性能的開(kāi)源自動(dòng)化構建工具,插件用于打包模塊化、可重用的構建邏輯。具體邏輯可以通過(guò)插件實(shí)現,打包分享給他人使用。例如,Sensors Android全埋插件通過(guò)該插件在編譯時(shí)處理特定功能,從而實(shí)現控制點(diǎn)擊和Fragment頁(yè)面瀏覽的全埋點(diǎn)采集。
  在本文中,我們將首先介紹 Gradle 的基礎知識,然后舉例說(shuō)明如何實(shí)現自定義 Gradle 插件。這里需要注意的是,本文使用 ./gradlew 來(lái)執行 Gradle 命令。如果是Windows用戶(hù),需要改成gradlew.bat。
  二、Gradle 基礎
  Gradle 有兩個(gè)重要的概念:項目和任務(wù)。本節將介紹它們各自的作用以及它們之間的關(guān)系。
  2.1 項目介紹
  Project 是與 Gradle 交互的最重要的 API。我們可以通過(guò)Android Studio的項目結構來(lái)理解Project的含義,如圖2-1所示:
  
  圖2-1 Android Studio項目結構圖
  圖2-1是編寫(xiě)過(guò)程中用到的一個(gè)項目(名為BlogDemo),包括兩個(gè)Modules,app和plugin。無(wú)論是“項目”還是“模塊”,在構建的時(shí)候都會(huì )被 Gradle 抽象成一個(gè) Project 對象。他們的主要關(guān)系是:
  1、Android Studio結構中的一個(gè)項目相當于一個(gè)父項目,一個(gè)項目中的所有Module都是父項目的子項目;
  2、每個(gè)Project都會(huì )對應一個(gè)build.gradle配置文件,所以在使用Android Studio創(chuàng )建項目的時(shí)候,根目錄下有一個(gè)build.gradle文件,每個(gè)Module里面都有一個(gè)build.gradle文件目錄。分級文件;
  3、Gradle 使用 settings.gradle 文件構建多個(gè)項目。項目之間的關(guān)系也可以從圖2-1中看出。
  父Project對象可以獲取所有子Project對象,這樣就可以在父Project對應的build.gradle文件中進(jìn)行一些統一的配置,例如:管理依賴(lài)的Maven中心庫:
  ...allprojects { repositories { google() jcenter() }}...
  2.2 任務(wù)介紹
  Project 在構建過(guò)程中執行一系列任務(wù)。Task的中文翻譯是“任務(wù)”。它的功能其實(shí)就是抽象出一系列有意義的任務(wù)。用 Gradle 的官方說(shuō)法是:每個(gè)任務(wù)都執行一些基本的工作。例如:當您點(diǎn)擊 Android Studio 的 Run 按鈕時(shí),Android Studio 將編譯并運行該項目。其實(shí)這個(gè)過(guò)程是通過(guò)執行一系列Task來(lái)完成的??赡馨ǎ壕幾gJava源碼的Task,編譯Android資源的Task,編譯JNI的Task,混淆的Task,生成Apk文件的Task,運行App的Task等Android Studio的構建輸出,如圖2-2所示:
  
  圖 2-2 Android Studio Build 輸出日志
  從圖右側,我們可以看到Task由兩部分組成:Task所在的Module名稱(chēng)和Task的名稱(chēng)。運行Task時(shí),也需要通過(guò)這種方式指定Task。
  另外,您可以自定義和實(shí)現自己的Task,讓我們創(chuàng )建一個(gè)最簡(jiǎn)單的Task:
  // add to build.gradletask hello { println &#39;Hello World!&#39;}
  這段代碼的意思是創(chuàng )建一個(gè)名為“hello”的Task。如果要單獨執行Task,可以在A(yíng)ndroid Studio的Terminal中輸入“./gradlew hello”,執行后可以看到控制臺輸出“Hello World!”。
  三、Gradle 插件搭建3.1 插件簡(jiǎn)介
  Plugin 和 Task 在功能上并沒(méi)有太大區別。它們都封裝了一些業(yè)務(wù)邏輯。Plugin適用于打包需要復用的編譯邏輯(即模塊化部分編譯邏輯)。您可以自定義 Gradle 插件,實(shí)現必要的邏輯并將其發(fā)布到遠程存儲庫或作為本地 JAR 包共享。這樣,當你想再次使用或者分享給別人的時(shí)候,可以直接引用遠程倉庫中的包或者引用本地的JAR包。
  最常見(jiàn)的Plugin應該是Android官方提供的Android Gradle Plugin??梢栽陧椖恐鱉odule的build.gradle文件的第一行看到:"apply plugin:
  'com.android.application'",Android Gradle 插件。
  “com.android.application”是指插件id,插件的作用是幫助你生成一個(gè)可運行的APK文件。
  插件還可以讀取 build.gradle 文件中寫(xiě)入的配置。在主Module的build.gradle文件中會(huì )有一個(gè)名為“android”的block,block中定義了一些屬性,比如:App支持的最低系統版本,App的版本號等等在。你可以把這里的“android”塊想象成一個(gè)數據類(lèi)或者基類(lèi),定義的屬性作為類(lèi)的成員變量。Android Gradle Plugin可以在運行時(shí)獲取“android”塊實(shí)例化的對象,然后根據對象的屬性值運行不同的編譯邏輯。
  3.2 用于構建獨立項目的 Gradle 插件
  Gradle 插件的實(shí)現方式有 3 種,分別是 Build script、buildSrc 項目和 Standalone 項目:
  1、構建腳本會(huì )直接在 build.gradle 文件中寫(xiě)入邏輯,Plugin 只對當前的 build.gradle 文件可見(jiàn);
  2、buildSrc項目會(huì )在rootProjectDir/buildSrc/src/main/java(最后路徑文件夾也可以是groovy或者kotlin,看你用什么語(yǔ)言實(shí)現自定義插件)目錄下寫(xiě)邏輯,Plugin只有效對于當前項目;
  3、Standalone project是把邏輯寫(xiě)在一個(gè)獨立的項目里,可以直接編譯發(fā)布JAR包到遠程倉庫或者本地。
  基于寫(xiě)這篇文章的目的,這里我們主要講解Standalone項目,也就是獨立項目的Gradle插件。
  3.2.1 目錄結構分析
  一個(gè)獨立項目的 Gradle 插件的一般結構如圖 3-1 所示:
  
  圖3-1 Gradle插件項目目錄示意圖
  主文件夾分為groovy文件夾和resources文件夾:
  其中,resources文件夾下是固定格式的META-INF/gradle-plugins/XXXX.properties,XXXX代表以后使用插件時(shí)需要指定的插件id。
  目前Android Studio對Gradle插件開(kāi)發(fā)的支持還不夠好。IDE 可以執行的許多任務(wù)需要手動(dòng)完成,例如:
  1、Android Studio不能直接創(chuàng )建Gradle插件的Module,只能先創(chuàng )建Java Library類(lèi)型的Module,然后刪除多余的文件夾;
  2、新類(lèi)默認為新Java類(lèi),新文件名后綴為“.java”。如果要新建一個(gè)Groovy語(yǔ)法類(lèi),需要手動(dòng)新建一個(gè)后綴為“.groovy”的文件,然后添加包、類(lèi)聲明;
  整個(gè)3、resources需要手動(dòng)創(chuàng )建,文件夾名需要拼寫(xiě);
  4、刪除Module的build.gradle的全部?jì)热?,添加Gradle插件和Gradle插件開(kāi)發(fā)所需的依賴(lài)。
  3.2.2 編寫(xiě)插件
  在編寫(xiě)插件的代碼之前,我們需要對 build.gradle 進(jìn)行一些更改,如下所示:
  apply plugin: &#39;groovy&#39;apply plugin: &#39;maven&#39;
dependencies { implementation gradleApi() implementation localGroovy()}
uploadArchives{ repositories.mavenDeployer { //本地倉庫路徑,以放到項目根目錄下的 repo 的文件夾為例 repository(url: uri(&#39;../repo&#39;)) //groupId ,自行定義 pom.groupId = &#39;com.sensorsdata.myplugin&#39; //artifactId pom.artifactId = &#39;MyPlugin&#39; //插件版本號 pom.version = &#39;1.0.0&#39; }}
  主要分為三個(gè)部分:
  1、apply plugin:應用'groovy'插件是因為我們的項目是使用Groovy語(yǔ)言開(kāi)發(fā)的,以后發(fā)布插件時(shí)會(huì )用到'maven'插件;
  2、dependencies:聲明依賴(lài);
  3、uploadArchive:這里有一些maven相關(guān)的配置,包括發(fā)布倉庫的位置、groupId、artifactId、版本號。為方便調試,位置選擇在項目根目錄下的repo文件夾中。
  做好以上準備后,就可以開(kāi)始編寫(xiě)源代碼了。Gradle插件要求入口類(lèi)需要實(shí)現org.gradle.api.Plugin接口,然后在實(shí)現方法apply中實(shí)現自己的邏輯:
  package com.sensorsdata.pluginclass MyPlugin implements Plugin{ @Override void apply(Project project) { println &#39;Hello,World!&#39; }}
  在這里的例子中,apply方法是我們整個(gè)Gradle插件的入口方法,類(lèi)似于各種語(yǔ)言中的main方法。apply方法的輸入參數類(lèi)型Project在第二節已經(jīng)說(shuō)明,這里不再贅述。由于Plugin類(lèi)和Project類(lèi)有很多同名的類(lèi),所以在導入的時(shí)候一定要選擇org.gradle.api包下的類(lèi)。
  最后還需要做一個(gè)準備工作:Gradle插件不會(huì )自動(dòng)查找入口類(lèi),而是需要開(kāi)發(fā)者在resources/META-INF/gradle-plugins/XXXX.properties中寫(xiě)入入口類(lèi)的類(lèi)名。內容格式為“implementation-class=入口類(lèi)的完全限定名”,此處示例工程的配置如下:
  ???????
  // com.sensorsdata.plugin.propertiesimplementation-class=com.sensorsdata.plugin.MyPlugin
  3.2.3 發(fā)布插件
  為插件編寫(xiě)完所有內容后,在終端中執行
  ./gradlew uploadArchive
  可以發(fā)布插件。上一節寫(xiě)插件的build.gradle文件中提前配置了發(fā)布到maven倉庫相關(guān)的配置,所以我們這里執行命令后,項目根目錄下會(huì )出現repo文件夾,文件夾收錄打包的 JAR 文件。
  3.2.4 使用插件
  使用插件有兩個(gè)主要步驟: 查看全部

  自動(dòng)采集編寫(xiě)(
AndroidStudio的Gradle插件含義及構建邏輯的含義和關(guān)系)
  
  一、前言
  在上一篇文章 文章 中,我們了解到 Sensors Android 插件實(shí)際上是一個(gè)自定義的 Gradle 插件。Gradle 是一款專(zhuān)注于靈活性和性能的開(kāi)源自動(dòng)化構建工具,插件用于打包模塊化、可重用的構建邏輯。具體邏輯可以通過(guò)插件實(shí)現,打包分享給他人使用。例如,Sensors Android全埋插件通過(guò)該插件在編譯時(shí)處理特定功能,從而實(shí)現控制點(diǎn)擊和Fragment頁(yè)面瀏覽的全埋點(diǎn)采集。
  在本文中,我們將首先介紹 Gradle 的基礎知識,然后舉例說(shuō)明如何實(shí)現自定義 Gradle 插件。這里需要注意的是,本文使用 ./gradlew 來(lái)執行 Gradle 命令。如果是Windows用戶(hù),需要改成gradlew.bat。
  二、Gradle 基礎
  Gradle 有兩個(gè)重要的概念:項目和任務(wù)。本節將介紹它們各自的作用以及它們之間的關(guān)系。
  2.1 項目介紹
  Project 是與 Gradle 交互的最重要的 API。我們可以通過(guò)Android Studio的項目結構來(lái)理解Project的含義,如圖2-1所示:
  
  圖2-1 Android Studio項目結構圖
  圖2-1是編寫(xiě)過(guò)程中用到的一個(gè)項目(名為BlogDemo),包括兩個(gè)Modules,app和plugin。無(wú)論是“項目”還是“模塊”,在構建的時(shí)候都會(huì )被 Gradle 抽象成一個(gè) Project 對象。他們的主要關(guān)系是:
  1、Android Studio結構中的一個(gè)項目相當于一個(gè)父項目,一個(gè)項目中的所有Module都是父項目的子項目;
  2、每個(gè)Project都會(huì )對應一個(gè)build.gradle配置文件,所以在使用Android Studio創(chuàng )建項目的時(shí)候,根目錄下有一個(gè)build.gradle文件,每個(gè)Module里面都有一個(gè)build.gradle文件目錄。分級文件;
  3、Gradle 使用 settings.gradle 文件構建多個(gè)項目。項目之間的關(guān)系也可以從圖2-1中看出。
  父Project對象可以獲取所有子Project對象,這樣就可以在父Project對應的build.gradle文件中進(jìn)行一些統一的配置,例如:管理依賴(lài)的Maven中心庫:
  ...allprojects { repositories { google() jcenter() }}...
  2.2 任務(wù)介紹
  Project 在構建過(guò)程中執行一系列任務(wù)。Task的中文翻譯是“任務(wù)”。它的功能其實(shí)就是抽象出一系列有意義的任務(wù)。用 Gradle 的官方說(shuō)法是:每個(gè)任務(wù)都執行一些基本的工作。例如:當您點(diǎn)擊 Android Studio 的 Run 按鈕時(shí),Android Studio 將編譯并運行該項目。其實(shí)這個(gè)過(guò)程是通過(guò)執行一系列Task來(lái)完成的??赡馨ǎ壕幾gJava源碼的Task,編譯Android資源的Task,編譯JNI的Task,混淆的Task,生成Apk文件的Task,運行App的Task等Android Studio的構建輸出,如圖2-2所示:
  
  圖 2-2 Android Studio Build 輸出日志
  從圖右側,我們可以看到Task由兩部分組成:Task所在的Module名稱(chēng)和Task的名稱(chēng)。運行Task時(shí),也需要通過(guò)這種方式指定Task。
  另外,您可以自定義和實(shí)現自己的Task,讓我們創(chuàng )建一個(gè)最簡(jiǎn)單的Task:
  // add to build.gradletask hello { println &#39;Hello World!&#39;}
  這段代碼的意思是創(chuàng )建一個(gè)名為“hello”的Task。如果要單獨執行Task,可以在A(yíng)ndroid Studio的Terminal中輸入“./gradlew hello”,執行后可以看到控制臺輸出“Hello World!”。
  三、Gradle 插件搭建3.1 插件簡(jiǎn)介
  Plugin 和 Task 在功能上并沒(méi)有太大區別。它們都封裝了一些業(yè)務(wù)邏輯。Plugin適用于打包需要復用的編譯邏輯(即模塊化部分編譯邏輯)。您可以自定義 Gradle 插件,實(shí)現必要的邏輯并將其發(fā)布到遠程存儲庫或作為本地 JAR 包共享。這樣,當你想再次使用或者分享給別人的時(shí)候,可以直接引用遠程倉庫中的包或者引用本地的JAR包。
  最常見(jiàn)的Plugin應該是Android官方提供的Android Gradle Plugin??梢栽陧椖恐鱉odule的build.gradle文件的第一行看到:"apply plugin:
  'com.android.application'",Android Gradle 插件。
  “com.android.application”是指插件id,插件的作用是幫助你生成一個(gè)可運行的APK文件。
  插件還可以讀取 build.gradle 文件中寫(xiě)入的配置。在主Module的build.gradle文件中會(huì )有一個(gè)名為“android”的block,block中定義了一些屬性,比如:App支持的最低系統版本,App的版本號等等在。你可以把這里的“android”塊想象成一個(gè)數據類(lèi)或者基類(lèi),定義的屬性作為類(lèi)的成員變量。Android Gradle Plugin可以在運行時(shí)獲取“android”塊實(shí)例化的對象,然后根據對象的屬性值運行不同的編譯邏輯。
  3.2 用于構建獨立項目的 Gradle 插件
  Gradle 插件的實(shí)現方式有 3 種,分別是 Build script、buildSrc 項目和 Standalone 項目:
  1、構建腳本會(huì )直接在 build.gradle 文件中寫(xiě)入邏輯,Plugin 只對當前的 build.gradle 文件可見(jiàn);
  2、buildSrc項目會(huì )在rootProjectDir/buildSrc/src/main/java(最后路徑文件夾也可以是groovy或者kotlin,看你用什么語(yǔ)言實(shí)現自定義插件)目錄下寫(xiě)邏輯,Plugin只有效對于當前項目;
  3、Standalone project是把邏輯寫(xiě)在一個(gè)獨立的項目里,可以直接編譯發(fā)布JAR包到遠程倉庫或者本地。
  基于寫(xiě)這篇文章的目的,這里我們主要講解Standalone項目,也就是獨立項目的Gradle插件。
  3.2.1 目錄結構分析
  一個(gè)獨立項目的 Gradle 插件的一般結構如圖 3-1 所示:
  
  圖3-1 Gradle插件項目目錄示意圖
  主文件夾分為groovy文件夾和resources文件夾:
  其中,resources文件夾下是固定格式的META-INF/gradle-plugins/XXXX.properties,XXXX代表以后使用插件時(shí)需要指定的插件id。
  目前Android Studio對Gradle插件開(kāi)發(fā)的支持還不夠好。IDE 可以執行的許多任務(wù)需要手動(dòng)完成,例如:
  1、Android Studio不能直接創(chuàng )建Gradle插件的Module,只能先創(chuàng )建Java Library類(lèi)型的Module,然后刪除多余的文件夾;
  2、新類(lèi)默認為新Java類(lèi),新文件名后綴為“.java”。如果要新建一個(gè)Groovy語(yǔ)法類(lèi),需要手動(dòng)新建一個(gè)后綴為“.groovy”的文件,然后添加包、類(lèi)聲明;
  整個(gè)3、resources需要手動(dòng)創(chuàng )建,文件夾名需要拼寫(xiě);
  4、刪除Module的build.gradle的全部?jì)热?,添加Gradle插件和Gradle插件開(kāi)發(fā)所需的依賴(lài)。
  3.2.2 編寫(xiě)插件
  在編寫(xiě)插件的代碼之前,我們需要對 build.gradle 進(jìn)行一些更改,如下所示:
  apply plugin: &#39;groovy&#39;apply plugin: &#39;maven&#39;
dependencies { implementation gradleApi() implementation localGroovy()}
uploadArchives{ repositories.mavenDeployer { //本地倉庫路徑,以放到項目根目錄下的 repo 的文件夾為例 repository(url: uri(&#39;../repo&#39;)) //groupId ,自行定義 pom.groupId = &#39;com.sensorsdata.myplugin&#39; //artifactId pom.artifactId = &#39;MyPlugin&#39; //插件版本號 pom.version = &#39;1.0.0&#39; }}
  主要分為三個(gè)部分:
  1、apply plugin:應用'groovy'插件是因為我們的項目是使用Groovy語(yǔ)言開(kāi)發(fā)的,以后發(fā)布插件時(shí)會(huì )用到'maven'插件;
  2、dependencies:聲明依賴(lài);
  3、uploadArchive:這里有一些maven相關(guān)的配置,包括發(fā)布倉庫的位置、groupId、artifactId、版本號。為方便調試,位置選擇在項目根目錄下的repo文件夾中。
  做好以上準備后,就可以開(kāi)始編寫(xiě)源代碼了。Gradle插件要求入口類(lèi)需要實(shí)現org.gradle.api.Plugin接口,然后在實(shí)現方法apply中實(shí)現自己的邏輯:
  package com.sensorsdata.pluginclass MyPlugin implements Plugin{ @Override void apply(Project project) { println &#39;Hello,World!&#39; }}
  在這里的例子中,apply方法是我們整個(gè)Gradle插件的入口方法,類(lèi)似于各種語(yǔ)言中的main方法。apply方法的輸入參數類(lèi)型Project在第二節已經(jīng)說(shuō)明,這里不再贅述。由于Plugin類(lèi)和Project類(lèi)有很多同名的類(lèi),所以在導入的時(shí)候一定要選擇org.gradle.api包下的類(lèi)。
  最后還需要做一個(gè)準備工作:Gradle插件不會(huì )自動(dòng)查找入口類(lèi),而是需要開(kāi)發(fā)者在resources/META-INF/gradle-plugins/XXXX.properties中寫(xiě)入入口類(lèi)的類(lèi)名。內容格式為“implementation-class=入口類(lèi)的完全限定名”,此處示例工程的配置如下:
  ???????
  // com.sensorsdata.plugin.propertiesimplementation-class=com.sensorsdata.plugin.MyPlugin
  3.2.3 發(fā)布插件
  為插件編寫(xiě)完所有內容后,在終端中執行
  ./gradlew uploadArchive
  可以發(fā)布插件。上一節寫(xiě)插件的build.gradle文件中提前配置了發(fā)布到maven倉庫相關(guān)的配置,所以我們這里執行命令后,項目根目錄下會(huì )出現repo文件夾,文件夾收錄打包的 JAR 文件。
  3.2.4 使用插件
  使用插件有兩個(gè)主要步驟:

自動(dòng)采集編寫(xiě)( 如何抓取遠程網(wǎng)頁(yè)?遠程HTML的二進(jìn)制代碼主要語(yǔ)句)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 214 次瀏覽 ? 2022-01-18 21:09 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
如何抓取遠程網(wǎng)頁(yè)?遠程HTML的二進(jìn)制代碼主要語(yǔ)句)
  如何用asp編寫(xiě)網(wǎng)站data采集程序?
  Quote: 如果你想自動(dòng)采集從互聯(lián)網(wǎng)上的數據寫(xiě)入本地數據庫,那么看看這篇文章中描述的方法。為了解決這個(gè)問(wèn)題,作者花了三天時(shí)間,終于成功了。下面是完整的ASP代碼,可以隨心所欲的存儲來(lái)自網(wǎng)上采集的數據,非常實(shí)用!
  一、網(wǎng)站數據采集方法
  目前網(wǎng)站data采集的方法主要有兩種,一種是使用現成的軟件,另一種是編寫(xiě)采集程序。
  1、使用現成的軟件
  很多軟件(如網(wǎng)絡(luò )信息采集master、BK通用信息采集system等)都可以采集在線(xiàn)數據,只要你去百度、谷歌,用“數據&lt; @采集“軟件”搜索關(guān)鍵詞,可以找到?,F在這種軟件很多,都是別人用C、DEPHI或者VB寫(xiě)的,一般都提供免費版你下載試試,雖然他們也可以采集在線(xiàn)數據,但是采集后面的數據要么不能存儲,要么只能存儲前10條記錄;如果你想突破這個(gè)限制,正式版一定要花錢(qián)買(mǎi),作者試了所有的data采集軟件,發(fā)現都是一樣的!
  2、編寫(xiě)自己的 ASP采集 程序
  由于現成的軟件不能免費使用,為了省錢(qián),只能自己寫(xiě)ASP網(wǎng)站data采集程序!以下是程序的代碼,如果你想要免費的采集網(wǎng)站數據,運行它即可。
  二、網(wǎng)站數據采集進(jìn)程
  要編寫(xiě)一個(gè) ASP網(wǎng)站data采集 程序,首先需要抓取遠程網(wǎng)頁(yè)的源代碼。微軟serverXMLHTTP組件可以幫你抓取遠程頁(yè)面的二進(jìn)制代碼,然后將代碼轉換成字符,進(jìn)行截取替換處理,就可以得到想要的數據了;最后,數據顯示或寫(xiě)入數據庫。采集工作完成了。
  三、如何爬取遠程網(wǎng)頁(yè)?
  二進(jìn)制代碼抓取遠程HTML的主要語(yǔ)句如下: 查看全部

  自動(dòng)采集編寫(xiě)(
如何抓取遠程網(wǎng)頁(yè)?遠程HTML的二進(jìn)制代碼主要語(yǔ)句)
  如何用asp編寫(xiě)網(wǎng)站data采集程序?
  Quote: 如果你想自動(dòng)采集從互聯(lián)網(wǎng)上的數據寫(xiě)入本地數據庫,那么看看這篇文章中描述的方法。為了解決這個(gè)問(wèn)題,作者花了三天時(shí)間,終于成功了。下面是完整的ASP代碼,可以隨心所欲的存儲來(lái)自網(wǎng)上采集的數據,非常實(shí)用!
  一、網(wǎng)站數據采集方法
  目前網(wǎng)站data采集的方法主要有兩種,一種是使用現成的軟件,另一種是編寫(xiě)采集程序。
  1、使用現成的軟件
  很多軟件(如網(wǎng)絡(luò )信息采集master、BK通用信息采集system等)都可以采集在線(xiàn)數據,只要你去百度、谷歌,用“數據&lt; @采集“軟件”搜索關(guān)鍵詞,可以找到?,F在這種軟件很多,都是別人用C、DEPHI或者VB寫(xiě)的,一般都提供免費版你下載試試,雖然他們也可以采集在線(xiàn)數據,但是采集后面的數據要么不能存儲,要么只能存儲前10條記錄;如果你想突破這個(gè)限制,正式版一定要花錢(qián)買(mǎi),作者試了所有的data采集軟件,發(fā)現都是一樣的!
  2、編寫(xiě)自己的 ASP采集 程序
  由于現成的軟件不能免費使用,為了省錢(qián),只能自己寫(xiě)ASP網(wǎng)站data采集程序!以下是程序的代碼,如果你想要免費的采集網(wǎng)站數據,運行它即可。
  二、網(wǎng)站數據采集進(jìn)程
  要編寫(xiě)一個(gè) ASP網(wǎng)站data采集 程序,首先需要抓取遠程網(wǎng)頁(yè)的源代碼。微軟serverXMLHTTP組件可以幫你抓取遠程頁(yè)面的二進(jìn)制代碼,然后將代碼轉換成字符,進(jìn)行截取替換處理,就可以得到想要的數據了;最后,數據顯示或寫(xiě)入數據庫。采集工作完成了。
  三、如何爬取遠程網(wǎng)頁(yè)?
  二進(jìn)制代碼抓取遠程HTML的主要語(yǔ)句如下:

自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構第三方sdk)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 165 次瀏覽 ? 2022-01-18 17:02 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構第三方sdk)
  自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構,第三方sdk,如果以上完成,拿到想要的數據不成問(wèn)題,技術(shù)方面稍微懂點(diǎn)點(diǎn)前端,關(guān)注下作者之類(lèi)的就行,只要會(huì )采集,正則、xpath、循環(huán)啥的應該都懂吧,其實(shí)這是我想問(wèn)的,
  不知道你有沒(méi)有寫(xiě)過(guò)完整的mt模塊啊
  好像我前端知識跟他們比不是那么接近。但是可以給你一些建議。你們肯定經(jīng)常涉及后端邏輯的方面吧,或者服務(wù)器方面,可以考慮前端來(lái)把具體的邏輯落地。例如:后端傳來(lái)一個(gè)參數,對應什么操作,
  題主如果自己會(huì )寫(xiě)點(diǎn)server,也會(huì )寫(xiě)一點(diǎn)generator,相信一個(gè)工具就出來(lái)了。
  可以試著(zhù)代理一下,有個(gè)工具叫httpgas歡迎你。
  先給我講下你們的前端架構
  前端工具搜一下就是了,還有很多,
  你想如何自動(dòng)抓???分享?
  寫(xiě)一個(gè)webserver。
  樓主學(xué)習過(guò)一點(diǎn)python嗎?還是會(huì )寫(xiě)點(diǎn)generator???
  這個(gè)要求挺寬泛的
  在業(yè)務(wù)邏輯相同的前提下,盡量不要在網(wǎng)站上實(shí)現一次爬蟲(chóng),因為新的接口會(huì )不兼容舊的頁(yè)面,你可以先去實(shí)現一個(gè)基于http協(xié)議的ui工具,然后再去不斷的更新服務(wù)器。
  等他們學(xué)會(huì )了socket封裝再來(lái)抓。
  自己寫(xiě)點(diǎn)東西這個(gè)口子太大了,很不容易想到。新的抓取工具也做不到。我說(shuō)個(gè)你可以實(shí)現的吧,你搭個(gè)云服務(wù)器,拿到業(yè)務(wù)相關(guān)的url然后把你的json文件上傳給服務(wù)器,這樣全部都抓取就行了,而且抓取很安全。 查看全部

  自動(dòng)采集編寫(xiě)(自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構第三方sdk)
  自動(dòng)采集編寫(xiě)采集代碼,前端架構,后端架構,第三方sdk,如果以上完成,拿到想要的數據不成問(wèn)題,技術(shù)方面稍微懂點(diǎn)點(diǎn)前端,關(guān)注下作者之類(lèi)的就行,只要會(huì )采集,正則、xpath、循環(huán)啥的應該都懂吧,其實(shí)這是我想問(wèn)的,
  不知道你有沒(méi)有寫(xiě)過(guò)完整的mt模塊啊
  好像我前端知識跟他們比不是那么接近。但是可以給你一些建議。你們肯定經(jīng)常涉及后端邏輯的方面吧,或者服務(wù)器方面,可以考慮前端來(lái)把具體的邏輯落地。例如:后端傳來(lái)一個(gè)參數,對應什么操作,
  題主如果自己會(huì )寫(xiě)點(diǎn)server,也會(huì )寫(xiě)一點(diǎn)generator,相信一個(gè)工具就出來(lái)了。
  可以試著(zhù)代理一下,有個(gè)工具叫httpgas歡迎你。
  先給我講下你們的前端架構
  前端工具搜一下就是了,還有很多,
  你想如何自動(dòng)抓???分享?
  寫(xiě)一個(gè)webserver。
  樓主學(xué)習過(guò)一點(diǎn)python嗎?還是會(huì )寫(xiě)點(diǎn)generator???
  這個(gè)要求挺寬泛的
  在業(yè)務(wù)邏輯相同的前提下,盡量不要在網(wǎng)站上實(shí)現一次爬蟲(chóng),因為新的接口會(huì )不兼容舊的頁(yè)面,你可以先去實(shí)現一個(gè)基于http協(xié)議的ui工具,然后再去不斷的更新服務(wù)器。
  等他們學(xué)會(huì )了socket封裝再來(lái)抓。
  自己寫(xiě)點(diǎn)東西這個(gè)口子太大了,很不容易想到。新的抓取工具也做不到。我說(shuō)個(gè)你可以實(shí)現的吧,你搭個(gè)云服務(wù)器,拿到業(yè)務(wù)相關(guān)的url然后把你的json文件上傳給服務(wù)器,這樣全部都抓取就行了,而且抓取很安全。

自動(dòng)采集編寫(xiě)(java版的話(huà)你可以參考一下對象嗎?)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 156 次瀏覽 ? 2022-01-17 15:02 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(java版的話(huà)你可以參考一下對象嗎?)
  自動(dòng)采集編寫(xiě)一個(gè)xmlhttprequest對象將main函數的腳本和所有的操作發(fā)送到實(shí)際的pageserver中。另外在頁(yè)面開(kāi)始時(shí)注冊beforecreate,并在整個(gè)流程執行結束時(shí)注銷(xiāo)。注意:注冊的beforecreate并不會(huì )對頁(yè)面造成影響,它只會(huì )根據url來(lái)創(chuàng )建對應的session對象。使用標簽創(chuàng )建實(shí)際的session對象1.使用itextsize屬性來(lái)設置標簽內容的寬度2.在內容中加入longtemplate的內容3.longtemplate.insertcount不能省略4.cookie中綁定session對象是一個(gè)單向鏈表5.session.getsession()方法不能省略。在java中使用到:...關(guān)注我的公眾號:瘋狂c4d小編在等你哦。
  使用setlocal方法
  某些頁(yè)面禁止訪(fǎng)問(wèn)用。java有個(gè)getsession,urlslistsession數據,還可以看其他人的java源碼學(xué)習一下。
  main函數的腳本放在sessionfactory中,然后做標記好每個(gè)頁(yè)面處理到哪一個(gè)session后,自動(dòng)啟動(dòng)web服務(wù)器,從所有session中獲取數據來(lái)處理。
  java版的話(huà)你可以參考一下springautoconfiguration,寫(xiě)android相當好用。ui就用theme里面的內置ui吧,
  注冊一個(gè)會(huì )話(huà),然后獲取web端的會(huì )話(huà)對象,發(fā)送到服務(wù)器上,服務(wù)器響應,
  就連我們的私房菜(二維碼自動(dòng)識別)都在nodejs中跑起來(lái)了, 查看全部

  自動(dòng)采集編寫(xiě)(java版的話(huà)你可以參考一下對象嗎?)
  自動(dòng)采集編寫(xiě)一個(gè)xmlhttprequest對象將main函數的腳本和所有的操作發(fā)送到實(shí)際的pageserver中。另外在頁(yè)面開(kāi)始時(shí)注冊beforecreate,并在整個(gè)流程執行結束時(shí)注銷(xiāo)。注意:注冊的beforecreate并不會(huì )對頁(yè)面造成影響,它只會(huì )根據url來(lái)創(chuàng )建對應的session對象。使用標簽創(chuàng )建實(shí)際的session對象1.使用itextsize屬性來(lái)設置標簽內容的寬度2.在內容中加入longtemplate的內容3.longtemplate.insertcount不能省略4.cookie中綁定session對象是一個(gè)單向鏈表5.session.getsession()方法不能省略。在java中使用到:...關(guān)注我的公眾號:瘋狂c4d小編在等你哦。
  使用setlocal方法
  某些頁(yè)面禁止訪(fǎng)問(wèn)用。java有個(gè)getsession,urlslistsession數據,還可以看其他人的java源碼學(xué)習一下。
  main函數的腳本放在sessionfactory中,然后做標記好每個(gè)頁(yè)面處理到哪一個(gè)session后,自動(dòng)啟動(dòng)web服務(wù)器,從所有session中獲取數據來(lái)處理。
  java版的話(huà)你可以參考一下springautoconfiguration,寫(xiě)android相當好用。ui就用theme里面的內置ui吧,
  注冊一個(gè)會(huì )話(huà),然后獲取web端的會(huì )話(huà)對象,發(fā)送到服務(wù)器上,服務(wù)器響應,
  就連我們的私房菜(二維碼自動(dòng)識別)都在nodejs中跑起來(lái)了,

自動(dòng)采集編寫(xiě)(看來(lái)在jQuery插件中的編寫(xiě)文檔正適合你)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 148 次瀏覽 ? 2022-01-16 18:07 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(看來(lái)在jQuery插件中的編寫(xiě)文檔正適合你)
  看起來(lái)您對 jQuery 的使用很感興趣,并且想學(xué)習如何編寫(xiě)自己的插件。很好,這份文件是為你準備的。使用插件和方法擴展 jQuery 非常強大,將最智能的功能封裝到插件中可以為您和您的團隊節省大量的開(kāi)發(fā)時(shí)間。
  開(kāi)始
  寫(xiě)一個(gè)jQuery插件,需要在jQuery.fn對象中添加一個(gè)新的函數屬性,屬性名就是插件的名字
  jQuery.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  等一下!我知道和喜愛(ài)的美元在哪里?它仍然存在,只是為了確保您的插件不與使用 $ 的其他庫沖突,有一個(gè)最佳實(shí)踐:將 jQuery 傳遞給 IIFE(立即調用的函數)并將其映射到 $ ,這樣可以避免執行被其他庫覆蓋范圍內。
 ?。ê瘮担?){
  $.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  })(jQuery);
  嗯,這更好?,F在,在這個(gè)閉包中,我們可以隨意用 $ 替換 jQuery。
  語(yǔ)境
  現在外殼已經(jīng)到位,是時(shí)候開(kāi)始編寫(xiě)實(shí)際的插件代碼了。但在此之前,關(guān)于上下文,我有話(huà)要說(shuō)。在插件函數的直接作用域中,關(guān)鍵字 this 指的是調用插件的 jQuery 對象。這是一個(gè)經(jīng)常出錯的地方,因為在某些情況下 jQuery 接受一個(gè)回調函數,其中 this 引用本地 DOM 元素。這通常會(huì )導致開(kāi)發(fā)人員不必要地在 jQuery 函數中再次包裝 this 關(guān)鍵字。
  (函數($){
  $.fn.myPlugin = function() {
  // 不需要再次執行 $(this),因為 "this" 已經(jīng)是一個(gè) jQuery 對象
  // $(this) 和 $($('#element')) 一樣
  this.fadeIn('正常', function(){
  // 這里 this 關(guān)鍵字指向 DOM 元素
  });
  };
  })(jQuery);
  $('#element').myPlugin();
  根據
  現在我們了解了 jQuery 插件的上下文,讓我們編寫(xiě)一個(gè)實(shí)際做某事的插件。
  (函數($){
  $.fn.maxHeight = 函數() {
  變量最大值 = 0;
  這個(gè)每個(gè)(函數(){
  最大值 = Math.max( 最大值,$(this).height() );
  });
  返回最大值;
  };
  })(jQuery);
  --
  var 最高 = $('div').maxHeight(); // 返回最高 div 的高度
  這個(gè)簡(jiǎn)單的插件利用 .height() 返回頁(yè)面中最高 div 的高度
  保持可鏈接性
  前面的示例返回頁(yè)面上最高 div 的整數值,但很多時(shí)候插件只是以某種方式修改元素集并將它們傳遞給調用鏈中的下一個(gè)方法。這就是 jQuery 設計的美妙之處,也是它如此受歡迎的原因之一。為了保持插件的可鏈接性,必須確保插件返回 this 關(guān)鍵字。
  (函數($){
  $.fn.lockDimensions = 函數(類(lèi)型){
  返回 this.each(function() {
  var $this = $(this);
  if ( !type || type == 'width' ) {
  $this.width($this.width());
  }
  if ( !type || type == 'height' ) {
  $this.height($this.height());
  }
  });
  };
  })(jQuery);
  --
  $('div').lockDimensions('width').css('color', 'red');
  該插件在直接作用域內返回 this 關(guān)鍵字,保持可鏈接性,因此 jQuery 集合可以通過(guò)其他方法進(jìn)行操作,例如 .css()。因此,如果插件不需要真正的返回值,則應始終在插件函數的直接范圍內返回 this 關(guān)鍵字。此外,正如您所料,調用插件時(shí)的參數被傳遞到插件函數的直接作用域中。在上面的例子中,字符串“width”成為插件函數的類(lèi)型參數。
  默認設置和選項
  對于提供許多選項的更復雜、可配置的插件,最佳實(shí)踐是提供一個(gè)可以在調用插件時(shí)擴展(通過(guò) $.extend )的默認設置。這樣在調用插件的時(shí)候就不需要很多參數了,只需要一個(gè)對象參數,內容就是你想要與默認值不同的部分設置。方法如下:
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 創(chuàng )建一些默認值,使用提供的任何選項擴展它們
  var 設置 = $.extend( {
  “位置”:“頂部”,
  “背景色”:“藍色”
  }, 選項);
  返回 this.each(function() {
  // 這里是工具提示插件代碼
  });
  };
  })(jQuery);
  --
  $('div').tooltip({
  “位置”:“左”
  });
  在此示例中,使用給定選項調用工具提示插件后,默認位置設置被覆蓋為“左”,但背景顏色設置仍為默認“藍色”。最終設置對象如下所示:
  {
  '位置' : '左',
  “背景色”:“藍色”
  }
  這是提供高度可配置插件的好方法,無(wú)需強制開(kāi)發(fā)人員定義所有選項。
  命名空間
  為插件正確定義命名空間是插件開(kāi)發(fā)的重要部分。正確定義命名空間可確保您的插件很難被同一頁(yè)面上的其他插件或其他代碼覆蓋。命名空間還可以讓插件開(kāi)發(fā)人員的生活更輕松,因為它們可以幫助您跟蹤您的方法、事件和數據。
  插件方法
  一個(gè)插件不應該在 jQuery.fn 對象中聲明多個(gè)命名空間
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 這
  };
  $.fn.tooltipShow = 函數(){
  // 不
  };
  $.fn.tooltipHide = 函數(){
  // 好的
  };
  $.fn.tooltipUpdate = 功能(內容){
  //!!!
  };
  })(jQuery);
  這非常糟糕,因為它弄亂了 $.fn 命名空間。要解決此問(wèn)題,您應該將所有插件方法采集到一個(gè)對象定義中,并通過(guò)傳遞方法名稱(chēng)字符串來(lái)調用它。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  // 這
  },
  顯示:函數(){
  // 非常
  },
  隱藏:函數(){
  // 好的
  },
  更新:功能(內容){
  //!!!
  }
  };
  $.fn.tooltip = 函數(方法){
  // 方法調用邏輯
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  // 調用初始化方法
  $('div').tooltip();
  // 調用初始化方法
  $('div').tooltip({
  富:'酒吧'
  });
  --
  // 調用隱藏方法
  $('div').tooltip('hide');
  --
  // 調用更新方法
  $('div').tooltip('update', '這是新的提示內容!');
  這種插件架構允許你將所有方法封裝在插件的父閉包中,調用時(shí)傳遞方法名字符串,然后將你需要的其他參數傳遞給方法。這種封裝和架構是 jQuery 插件社區的標準,并已被無(wú)數插件使用,包括 jQueryUI 中的插件和小部件。
  事件
  bind 方法有一個(gè)鮮為人知的特性:它支持為綁定事件定義命名空間。如果你的插件要綁定事件,最好為它定義一個(gè)命名空間。這樣,當您返回 unbind 時(shí),它不會(huì )影響同一事件類(lèi)型上的其他綁定事件。要為事件定義命名空間,請附加“.”。到要綁定的事件類(lèi)型。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  $(window).bind('resize.tooltip', methods.reposition);
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  $(window).unbind('.tooltip');
  })
  },
  重新定位:函數(){
  // ...
  },
  顯示:函數(){
  // ...
  },
  隱藏:函數(){
  // ...
  },
  更新:功能(內容){
  // ...
  }
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  --
  $('#fun').tooltip();
  // 一段時(shí)間之后...
  $('#fun').tooltip('destroy');
  在這個(gè)例子中,當 tooltip 被 init 方法初始化時(shí),它會(huì )將 reposition 方法綁定到命名空間為“tooltip”的窗口對象的 resize 事件上。之后,如果開(kāi)發(fā)者想要銷(xiāo)毀該對象,可以將插件的命名空間(即“tooltip”)傳遞給unbind方法,解除插件所有事件的綁定。這使我們可以安全地從該插件中解除綁定事件,并避免意外影響綁定在插件之外的事件。
  數據
  在插件開(kāi)發(fā)期間,您可能經(jīng)常需要維護狀態(tài),或檢查您的插件是否已在給定元素上初始化。jQuerydata 方法是跟蹤每個(gè)元素的變量的好方法。但是最好有一個(gè)對象來(lái)保存所有變量并使用單個(gè)命名空間訪(fǎng)問(wèn)該對象,而不是跟蹤一堆具有不同名稱(chēng)的數據。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip'),
  工具提示 = $('
  ', {
  文本:$this.attr('title')
  });
  // 如果插件還沒(méi)有初始化
  如果(!數據){
  /*
  在這里做更多的設置
  */
  $(this).data('tooltip', {
  目標:$這個(gè),
  工具提示:工具提示
  });
  }
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip');
  // 命名空間 FTW
  $(window).unbind('.tooltip');
  數據.tooltip.remove();
  $this.removeData('tooltip');
  })
  },
  重新定位:函數(){ // ... },
  顯示:函數(){ // ... },
  隱藏:函數(){ // ... },
  更新:函數(內容){ // ...}
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  data 方法可幫助您跟蹤插件的多個(gè)方法調用之間的變量和狀態(tài)。將數據放在單個(gè)對象中并為其定義命名空間有助于集中訪(fǎng)問(wèn)插件的所有屬性,同時(shí)還可以在需要時(shí)減少命名空間以供刪除。
  摘要和最佳實(shí)踐
  編寫(xiě) jQuery 插件使庫更高效。將您最聰明和最有用的功能抽象為可重用代碼將節省您的時(shí)間并進(jìn)一步提高開(kāi)發(fā)效率。以下是本文檔的簡(jiǎn)短摘要以及開(kāi)發(fā)下一個(gè) jQuery 插件時(shí)要記住的事項:
  始終將插件包裝在閉包中 { /* 插件放在這里 */ })( jQuery );
  不要在插件函數的直接范圍內另外包裝這個(gè)關(guān)鍵字
  始終使插件函數返回 this 關(guān)鍵字以保持可鏈接性,除非插件具有真正的返回值。
  您應該傳遞一個(gè)可以覆蓋插件默認選項的設置對象,而不是向插件傳遞大量參數。
  不要在一個(gè)插件中使用多個(gè)命名空間來(lái)使 jQuery.fn 對象混亂。
  始終為方法、事件和數據定義命名空間。
  --------------------- 查看全部

  自動(dòng)采集編寫(xiě)(看來(lái)在jQuery插件中的編寫(xiě)文檔正適合你)
  看起來(lái)您對 jQuery 的使用很感興趣,并且想學(xué)習如何編寫(xiě)自己的插件。很好,這份文件是為你準備的。使用插件和方法擴展 jQuery 非常強大,將最智能的功能封裝到插件中可以為您和您的團隊節省大量的開(kāi)發(fā)時(shí)間。
  開(kāi)始
  寫(xiě)一個(gè)jQuery插件,需要在jQuery.fn對象中添加一個(gè)新的函數屬性,屬性名就是插件的名字
  jQuery.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  等一下!我知道和喜愛(ài)的美元在哪里?它仍然存在,只是為了確保您的插件不與使用 $ 的其他庫沖突,有一個(gè)最佳實(shí)踐:將 jQuery 傳遞給 IIFE(立即調用的函數)并將其映射到 $ ,這樣可以避免執行被其他庫覆蓋范圍內。
 ?。ê瘮担?){
  $.fn.myPlugin = function() {
  // 插件的具體內容放在這里
  };
  })(jQuery);
  嗯,這更好?,F在,在這個(gè)閉包中,我們可以隨意用 $ 替換 jQuery。
  語(yǔ)境
  現在外殼已經(jīng)到位,是時(shí)候開(kāi)始編寫(xiě)實(shí)際的插件代碼了。但在此之前,關(guān)于上下文,我有話(huà)要說(shuō)。在插件函數的直接作用域中,關(guān)鍵字 this 指的是調用插件的 jQuery 對象。這是一個(gè)經(jīng)常出錯的地方,因為在某些情況下 jQuery 接受一個(gè)回調函數,其中 this 引用本地 DOM 元素。這通常會(huì )導致開(kāi)發(fā)人員不必要地在 jQuery 函數中再次包裝 this 關(guān)鍵字。
  (函數($){
  $.fn.myPlugin = function() {
  // 不需要再次執行 $(this),因為 "this" 已經(jīng)是一個(gè) jQuery 對象
  // $(this) 和 $($('#element')) 一樣
  this.fadeIn('正常', function(){
  // 這里 this 關(guān)鍵字指向 DOM 元素
  });
  };
  })(jQuery);
  $('#element').myPlugin();
  根據
  現在我們了解了 jQuery 插件的上下文,讓我們編寫(xiě)一個(gè)實(shí)際做某事的插件。
  (函數($){
  $.fn.maxHeight = 函數() {
  變量最大值 = 0;
  這個(gè)每個(gè)(函數(){
  最大值 = Math.max( 最大值,$(this).height() );
  });
  返回最大值;
  };
  })(jQuery);
  --
  var 最高 = $('div').maxHeight(); // 返回最高 div 的高度
  這個(gè)簡(jiǎn)單的插件利用 .height() 返回頁(yè)面中最高 div 的高度
  保持可鏈接性
  前面的示例返回頁(yè)面上最高 div 的整數值,但很多時(shí)候插件只是以某種方式修改元素集并將它們傳遞給調用鏈中的下一個(gè)方法。這就是 jQuery 設計的美妙之處,也是它如此受歡迎的原因之一。為了保持插件的可鏈接性,必須確保插件返回 this 關(guān)鍵字。
  (函數($){
  $.fn.lockDimensions = 函數(類(lèi)型){
  返回 this.each(function() {
  var $this = $(this);
  if ( !type || type == 'width' ) {
  $this.width($this.width());
  }
  if ( !type || type == 'height' ) {
  $this.height($this.height());
  }
  });
  };
  })(jQuery);
  --
  $('div').lockDimensions('width').css('color', 'red');
  該插件在直接作用域內返回 this 關(guān)鍵字,保持可鏈接性,因此 jQuery 集合可以通過(guò)其他方法進(jìn)行操作,例如 .css()。因此,如果插件不需要真正的返回值,則應始終在插件函數的直接范圍內返回 this 關(guān)鍵字。此外,正如您所料,調用插件時(shí)的參數被傳遞到插件函數的直接作用域中。在上面的例子中,字符串“width”成為插件函數的類(lèi)型參數。
  默認設置和選項
  對于提供許多選項的更復雜、可配置的插件,最佳實(shí)踐是提供一個(gè)可以在調用插件時(shí)擴展(通過(guò) $.extend )的默認設置。這樣在調用插件的時(shí)候就不需要很多參數了,只需要一個(gè)對象參數,內容就是你想要與默認值不同的部分設置。方法如下:
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 創(chuàng )建一些默認值,使用提供的任何選項擴展它們
  var 設置 = $.extend( {
  “位置”:“頂部”,
  “背景色”:“藍色”
  }, 選項);
  返回 this.each(function() {
  // 這里是工具提示插件代碼
  });
  };
  })(jQuery);
  --
  $('div').tooltip({
  “位置”:“左”
  });
  在此示例中,使用給定選項調用工具提示插件后,默認位置設置被覆蓋為“左”,但背景顏色設置仍為默認“藍色”。最終設置對象如下所示:
  {
  '位置' : '左',
  “背景色”:“藍色”
  }
  這是提供高度可配置插件的好方法,無(wú)需強制開(kāi)發(fā)人員定義所有選項。
  命名空間
  為插件正確定義命名空間是插件開(kāi)發(fā)的重要部分。正確定義命名空間可確保您的插件很難被同一頁(yè)面上的其他插件或其他代碼覆蓋。命名空間還可以讓插件開(kāi)發(fā)人員的生活更輕松,因為它們可以幫助您跟蹤您的方法、事件和數據。
  插件方法
  一個(gè)插件不應該在 jQuery.fn 對象中聲明多個(gè)命名空間
  (函數($){
  $.fn.tooltip = 函數(選項){
  // 這
  };
  $.fn.tooltipShow = 函數(){
  // 不
  };
  $.fn.tooltipHide = 函數(){
  // 好的
  };
  $.fn.tooltipUpdate = 功能(內容){
  //!!!
  };
  })(jQuery);
  這非常糟糕,因為它弄亂了 $.fn 命名空間。要解決此問(wèn)題,您應該將所有插件方法采集到一個(gè)對象定義中,并通過(guò)傳遞方法名稱(chēng)字符串來(lái)調用它。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  // 這
  },
  顯示:函數(){
  // 非常
  },
  隱藏:函數(){
  // 好的
  },
  更新:功能(內容){
  //!!!
  }
  };
  $.fn.tooltip = 函數(方法){
  // 方法調用邏輯
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  // 調用初始化方法
  $('div').tooltip();
  // 調用初始化方法
  $('div').tooltip({
  富:'酒吧'
  });
  --
  // 調用隱藏方法
  $('div').tooltip('hide');
  --
  // 調用更新方法
  $('div').tooltip('update', '這是新的提示內容!');
  這種插件架構允許你將所有方法封裝在插件的父閉包中,調用時(shí)傳遞方法名字符串,然后將你需要的其他參數傳遞給方法。這種封裝和架構是 jQuery 插件社區的標準,并已被無(wú)數插件使用,包括 jQueryUI 中的插件和小部件。
  事件
  bind 方法有一個(gè)鮮為人知的特性:它支持為綁定事件定義命名空間。如果你的插件要綁定事件,最好為它定義一個(gè)命名空間。這樣,當您返回 unbind 時(shí),它不會(huì )影響同一事件類(lèi)型上的其他綁定事件。要為事件定義命名空間,請附加“.”。到要綁定的事件類(lèi)型。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  $(window).bind('resize.tooltip', methods.reposition);
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  $(window).unbind('.tooltip');
  })
  },
  重新定位:函數(){
  // ...
  },
  顯示:函數(){
  // ...
  },
  隱藏:函數(){
  // ...
  },
  更新:功能(內容){
  // ...
  }
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  --
  $('#fun').tooltip();
  // 一段時(shí)間之后...
  $('#fun').tooltip('destroy');
  在這個(gè)例子中,當 tooltip 被 init 方法初始化時(shí),它會(huì )將 reposition 方法綁定到命名空間為“tooltip”的窗口對象的 resize 事件上。之后,如果開(kāi)發(fā)者想要銷(xiāo)毀該對象,可以將插件的命名空間(即“tooltip”)傳遞給unbind方法,解除插件所有事件的綁定。這使我們可以安全地從該插件中解除綁定事件,并避免意外影響綁定在插件之外的事件。
  數據
  在插件開(kāi)發(fā)期間,您可能經(jīng)常需要維護狀態(tài),或檢查您的插件是否已在給定元素上初始化。jQuerydata 方法是跟蹤每個(gè)元素的變量的好方法。但是最好有一個(gè)對象來(lái)保存所有變量并使用單個(gè)命名空間訪(fǎng)問(wèn)該對象,而不是跟蹤一堆具有不同名稱(chēng)的數據。
  (函數($){
  變種方法 = {
  初始化:函數(選項){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip'),
  工具提示 = $('
  ', {
  文本:$this.attr('title')
  });
  // 如果插件還沒(méi)有初始化
  如果(!數據){
  /*
  在這里做更多的設置
  */
  $(this).data('tooltip', {
  目標:$這個(gè),
  工具提示:工具提示
  });
  }
  });
  },
  銷(xiāo)毀:函數(){
  返回 this.each(function(){
  var $this = $(this),
  數據 = $this.data('tooltip');
  // 命名空間 FTW
  $(window).unbind('.tooltip');
  數據.tooltip.remove();
  $this.removeData('tooltip');
  })
  },
  重新定位:函數(){ // ... },
  顯示:函數(){ // ... },
  隱藏:函數(){ // ... },
  更新:函數(內容){ // ...}
  };
  $.fn.tooltip = 函數(方法){
  如果(方法[方法]){
  返回方法[方法].apply(this, Array.prototype.slice.call(arguments, 1));
  } else if ( typeof method === 'object' || ! method ) {
  返回方法.init.apply(這個(gè),參數);
  } 別的 {
  $.error( '方法' + 方法 + ' 在 jQuery.tooltip 上不存在' );
  }
  };
  })(jQuery);
  data 方法可幫助您跟蹤插件的多個(gè)方法調用之間的變量和狀態(tài)。將數據放在單個(gè)對象中并為其定義命名空間有助于集中訪(fǎng)問(wèn)插件的所有屬性,同時(shí)還可以在需要時(shí)減少命名空間以供刪除。
  摘要和最佳實(shí)踐
  編寫(xiě) jQuery 插件使庫更高效。將您最聰明和最有用的功能抽象為可重用代碼將節省您的時(shí)間并進(jìn)一步提高開(kāi)發(fā)效率。以下是本文檔的簡(jiǎn)短摘要以及開(kāi)發(fā)下一個(gè) jQuery 插件時(shí)要記住的事項:
  始終將插件包裝在閉包中 { /* 插件放在這里 */ })( jQuery );
  不要在插件函數的直接范圍內另外包裝這個(gè)關(guān)鍵字
  始終使插件函數返回 this 關(guān)鍵字以保持可鏈接性,除非插件具有真正的返回值。
  您應該傳遞一個(gè)可以覆蓋插件默認選項的設置對象,而不是向插件傳遞大量參數。
  不要在一個(gè)插件中使用多個(gè)命名空間來(lái)使 jQuery.fn 對象混亂。
  始終為方法、事件和數據定義命名空間。
  ---------------------

自動(dòng)采集編寫(xiě)(SpringBoot做個(gè)入門(mén)到精通系列(二)入門(mén)程序(一))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 178 次瀏覽 ? 2022-01-15 22:06 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(SpringBoot做個(gè)入門(mén)到精通系列(二)入門(mén)程序(一))
  SpringBoot入門(mén)大師系列
  前言
  經(jīng)過(guò)以上的學(xué)習,我們已經(jīng)掌握了Spring的注解編程。有了這個(gè)基礎之后,我們就可以輕松學(xué)習 Spring Boot,因為 Spring Boot 是基于 Spring 的注解編程開(kāi)發(fā)的。接下來(lái)正式開(kāi)始SpringBoot部分部分的學(xué)習,我們先做一個(gè)入門(mén)程序。
  三.SpringBoot 啟動(dòng)器
  我們來(lái)玩個(gè)入門(mén)案例,用SpringBoot寫(xiě)一個(gè)簡(jiǎn)單的WEB程序,用瀏覽器訪(fǎng)問(wèn)后臺返回一個(gè)“Hello Spring Boot”。那么讓我想一想,如果我使用SpringMVC來(lái)做這個(gè)案例,我需要做什么呢?
  創(chuàng )建一個(gè)web項目(打包成war),導入很多spirng相關(guān)、SpringMVC相關(guān)、Jackson相關(guān)、log相關(guān)等jar包。 web.xml中的配置:前端控制器DispatcherServlet;編碼過(guò)濾器;配置上下文參數(指定Spring的xml配置文件地址)等編寫(xiě)SpringMVC的xml配置文件,然后在里面配置一堆東西寫(xiě)Controller,寫(xiě)方法
  總之,用SpringMVC寫(xiě)這個(gè)web程序是很麻煩的,那么我們來(lái)看看使用SpirngBoot的區別
  1.構建 HelloWorld
  可以參考構建,也可以按照以下步驟構建
  1.1.創(chuàng )建項目
  注意,創(chuàng )建項目時(shí),選擇skeleton并選擇quickstart(普通jar項目都可以),當然也可以不選擇skeleton,默認是普通java項目。簡(jiǎn)而言之,不要創(chuàng )建 webapp 項目(這是為什么呢??)
  
  1.2.導入相關(guān)依賴(lài)
  
jar
org.springframework.boot
spring-boot-starter-parent
2.2.5.RELEASE

org.springframework.boot
spring-boot-starter-web

  spring-boot-starter-parent是SpringBoot提供的一個(gè)項目,spring-boot-starter-web是SpringBoot集成SpringMVC的依賴(lài)。此刻你可能有些疑惑,我稍后會(huì )解釋?zhuān)灰薄?br />   1.3.創(chuàng )建配置類(lèi)
  配置類(lèi)也是啟動(dòng)類(lèi),最多粘貼@SpringBootApplication,提供main方法啟動(dòng)應用
  @SpringBootApplication
public class ApplicationConfig {
public static void main(String[] args) {
//啟動(dòng)程序
SpringApplication.run(ApplicationConfig.class);
}
}
  1.4.寫(xiě)控制器
  @RestController
public class HelloController {

@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot";
}
}
  代碼就寫(xiě)到這里了,項目結構如下
  
  1.5.開(kāi)始Main方法測試
  控制臺啟動(dòng)效果
  
  默認端口為8080,使用瀏覽器訪(fǎng)問(wèn):8080/hello,效果如下
  
  我們從一開(kāi)始就知道 SpringBoot 是用來(lái)簡(jiǎn)化 Spring 應用的構建和開(kāi)發(fā)的。使用 SpringBoot 之后,確實(shí)簡(jiǎn)單很多,集成速度也快很多。但簡(jiǎn)單的背后意味著(zhù)復雜的封裝。
  2.HelloWorld 分析
  完成以上案例后,相信你也看到了測試效果。這一刻,你可能很多東西都不明白,比如:為什么在pom.xml中只需要導入一個(gè)jar包,為什么web項目使用pingtong java項目的結構;為什么不需要 web.xml;使用main方法啟動(dòng)程序等等。讓我們一一解答
  2.1.pom.xml分析
  pom中有3點(diǎn)需要講
  打包方式:jar使用spring-boot-starter-parent項目導入spring-boot-starter-web依賴(lài)包
  【重要】對于SpringBoot,即使是WEB項目的開(kāi)發(fā),也是采用普通java項目的結構。打包方式默認使用jar,不再需要WEB-INF/web.xml等結構。當然SpringBoot也可以使用war來(lái)打包項目,這個(gè)我們后面會(huì )講到。
  在Java中可以看作是extends。繼承父項目后,可以使用項目中的依賴(lài)。對于spring-boot-starter-parent,該項目是SpringBoot的父項目,提供基礎依賴(lài)和插件管理。進(jìn)入spring-boot-starter-parent的pom.xml,可以看到它使用了
  繼承了一個(gè)spring-boot-dependencies項目,如下(ctrl+左鍵):
  
org.springframework.boot

spring-boot-dependencies
2.2.5.RELEASE
../../spring-boot-dependencies

spring-boot-starter-parent
pom
Spring Boot Starter Parent
Parent pom providing dependency and plugin management for applications
built with Maven
https://projects.spring.io/spr ... arent

UTF-8

1.8
@
${java.version}
UTF-8
${java.version}

  可以看到,spring-boot-starter-parent繼承了spring-boot-dependencies,其打包方式為
  pom
  ,默認JDK版本為1.8,我們可以在自己項目的pom.xml中通過(guò)1.7修改JDK版本。
  真正管理依賴(lài)的其實(shí)是spring-boot-dependencies,安裝ctrl點(diǎn)擊進(jìn)去可以看到項目的
  很多很多版本都在它的dependencyManagement中管理,很多很多基礎依賴(lài)在它的dependencyManagement中管理,很多插件在它的pluginManagement中管理。
  簡(jiǎn)而言之:【重要】如果要使用SpringBoot,需要通過(guò)
  繼承spring-boot-starter-parent,父項目為我們管理了很多依賴(lài)和插件。如果我們要使用依賴(lài),只需要在自己項目的pom中引入即可,無(wú)需指定版本號。因為SpringBoot已經(jīng)幫我們管理了版本號。比如我們要導入一個(gè)測試包,在我們自己項目的pom.xml中導入就行了
  
junit
junit
  不需要導入版本號,因為父項目已經(jīng)托管,除非你想更改默認版本。
  在導入spring-boot-starter-web的時(shí)候,我們也指定了版本號??梢韵胂?,依賴(lài)是由spring-boot-starter-parent來(lái)管理的,那么依賴(lài)的作用是什么呢? 顧名思義,就是SpringBoot與WEB環(huán)境集成的依賴(lài)。我們可以打開(kāi)依賴(lài)的結構來(lái)看看
  
  【重要】可以看到一個(gè)spring-boot-starter-web導入了很多其他的依賴(lài),比如:Spring的基礎依賴(lài),SpringMVC的基礎依賴(lài),Jackson的基礎依賴(lài),日志基礎依賴(lài),Tomcat的依賴(lài),自動(dòng)配置依賴(lài),所以這個(gè) spring-boot-starter-web 導入了集成 web 環(huán)境所需的所有依賴(lài)項。你好像明白了什么?
  【重要】順便回答一個(gè)問(wèn)題:為什么不需要部署Tomcat?因為spring-boot-starter-web已經(jīng)導入了一個(gè)tomcat(SpringBoot嵌入式Tomcat),當我們啟動(dòng)main方法的時(shí)候,底層會(huì )啟動(dòng)嵌入式Tomcat,不再需要自己部署。
  2.2.啟動(dòng)類(lèi)分析
  我們來(lái)分析一下啟動(dòng)類(lèi),也就是配置類(lèi)。在學(xué)習Spring的Java Config之前,我們說(shuō)過(guò)用一個(gè)Java類(lèi)來(lái)代替Spring的xml配置作為配置文件,而SpringBoot使用的是Spring的Java Config配置。所以我們剛才的ApplicationConfig是一個(gè)配置類(lèi),它提供了一個(gè)main方法來(lái)啟動(dòng)項目,所以它也是一個(gè)啟動(dòng)類(lèi)。有兩點(diǎn)需要分析
  注解:@SpringBootApplication 啟動(dòng):SpringApplication.run(ApplicationConfig.class)
  @SpringBootApplication 是 SpringBoot 提供的復合注解。它由三個(gè)注釋組成。源碼如下
  //配置注解,該注解上又貼了一個(gè) @Configuration
@SpringBootConfiguration
//開(kāi)啟自動(dòng)配置
@EnableAutoConfiguration
//Spring IOC自動(dòng)掃描
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
@AliasFor(
annotation = EnableAutoConfiguration.class
)
Class[] exclude() default {};
@AliasFor(
annotation = EnableAutoConfiguration.class
)
String[] excludeName() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackages"
)
String[] scanBasePackages() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackageClasses"
)
Class[] scanBasePackageClasses() default {};
@AliasFor(
annotation = Configuration.class
)
boolean proxyBeanMethods() default true;
}
  【重要】@SpringBootApplication 收錄三個(gè)注解
  【重要】也就是說(shuō)標注@SpringBootApplication注解的類(lèi)是一個(gè)Spring配置類(lèi),它還具有自動(dòng)掃描IOC的能力,同時(shí)開(kāi)啟了SpringBoot的自動(dòng)配置能力。
  對于main方法中的SpringApplication.run,我們知道它的作用是啟動(dòng)程序。該方法會(huì )初始化SpringBoot環(huán)境,創(chuàng )建AnnotationConfigApplicationContext作為Spring的IOC容器類(lèi),然后執行容器類(lèi)的刷新方法。刷新。加載bean、注冊bean、實(shí)例化bean、自動(dòng)配置、啟動(dòng)嵌入式Tomcat都在這個(gè)方法中。具體細節后面會(huì )講,這里再講。
  2.3.小擴展
  dependencyManagement 和依賴(lài)項
  我們在SpringBoot的父項目中看到了dependencyManagement元素,那么這個(gè)元素中的依賴(lài)和放在dependencies中的依賴(lài)有什么區別呢?放在dependencies中的依賴(lài)可以直接使用。放置在dependencyManagement 中的依賴(lài)項僅用于聲明或管理。依賴(lài)不能直接使用,需要在依賴(lài)中引入才能使用。
  依賴(lài)管理有什么意義?它的意思是管理版本。通常在父項目中使用dependencyManagement來(lái)管理依賴(lài),在子項目中導入依賴(lài),然后導入不需要版本號,因為版本號交給父項目管理。 SpringBoot 就是這樣做的。
  包裝是jar和war的區別
  我們需要在pom中指定
  罐子
  標記項目的打包類(lèi)型,可以指定四種類(lèi)型
  3.項目結構知識
  SpringBoot項目的標準結構如下
  
  代碼存放在java目錄下,resources目錄包括
  4.創(chuàng )建項目的三種方式
  下面介紹幾種創(chuàng )建SpringBoot項目的方法。第一種是手動(dòng)創(chuàng )建,我們剛才已經(jīng)演示過(guò)了,第二種是使用Spring官方提供的快捷方式網(wǎng)站
  
  通過(guò)網(wǎng)站可以直接配置項目屬性,添加依賴(lài),然后點(diǎn)擊generate生成項目,網(wǎng)站會(huì )下載一個(gè)基本的SpringBoot項目。
  第三個(gè)是通過(guò)IDEA的Spring Initializr創(chuàng )建的,如下
  
  配置項目
  
  選擇需要的jar包
  
  點(diǎn)擊下一步,項目創(chuàng )建成功
  5.SpringBoot 特性總結
  根據上面的Hello分析,我們可以總結出SpringBoot的一些特點(diǎn)
  一個(gè)字,酷,但缺點(diǎn)是封裝太深,需要花很多精力去了解它的封裝過(guò)程。
  文章就在這里,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊。 查看全部

  自動(dòng)采集編寫(xiě)(SpringBoot做個(gè)入門(mén)到精通系列(二)入門(mén)程序(一))
  SpringBoot入門(mén)大師系列
  前言
  經(jīng)過(guò)以上的學(xué)習,我們已經(jīng)掌握了Spring的注解編程。有了這個(gè)基礎之后,我們就可以輕松學(xué)習 Spring Boot,因為 Spring Boot 是基于 Spring 的注解編程開(kāi)發(fā)的。接下來(lái)正式開(kāi)始SpringBoot部分部分的學(xué)習,我們先做一個(gè)入門(mén)程序。
  三.SpringBoot 啟動(dòng)器
  我們來(lái)玩個(gè)入門(mén)案例,用SpringBoot寫(xiě)一個(gè)簡(jiǎn)單的WEB程序,用瀏覽器訪(fǎng)問(wèn)后臺返回一個(gè)“Hello Spring Boot”。那么讓我想一想,如果我使用SpringMVC來(lái)做這個(gè)案例,我需要做什么呢?
  創(chuàng )建一個(gè)web項目(打包成war),導入很多spirng相關(guān)、SpringMVC相關(guān)、Jackson相關(guān)、log相關(guān)等jar包。 web.xml中的配置:前端控制器DispatcherServlet;編碼過(guò)濾器;配置上下文參數(指定Spring的xml配置文件地址)等編寫(xiě)SpringMVC的xml配置文件,然后在里面配置一堆東西寫(xiě)Controller,寫(xiě)方法
  總之,用SpringMVC寫(xiě)這個(gè)web程序是很麻煩的,那么我們來(lái)看看使用SpirngBoot的區別
  1.構建 HelloWorld
  可以參考構建,也可以按照以下步驟構建
  1.1.創(chuàng )建項目
  注意,創(chuàng )建項目時(shí),選擇skeleton并選擇quickstart(普通jar項目都可以),當然也可以不選擇skeleton,默認是普通java項目。簡(jiǎn)而言之,不要創(chuàng )建 webapp 項目(這是為什么呢??)
  
  1.2.導入相關(guān)依賴(lài)
  
jar
org.springframework.boot
spring-boot-starter-parent
2.2.5.RELEASE

org.springframework.boot
spring-boot-starter-web

  spring-boot-starter-parent是SpringBoot提供的一個(gè)項目,spring-boot-starter-web是SpringBoot集成SpringMVC的依賴(lài)。此刻你可能有些疑惑,我稍后會(huì )解釋?zhuān)灰薄?br />   1.3.創(chuàng )建配置類(lèi)
  配置類(lèi)也是啟動(dòng)類(lèi),最多粘貼@SpringBootApplication,提供main方法啟動(dòng)應用
  @SpringBootApplication
public class ApplicationConfig {
public static void main(String[] args) {
//啟動(dòng)程序
SpringApplication.run(ApplicationConfig.class);
}
}
  1.4.寫(xiě)控制器
  @RestController
public class HelloController {

@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot";
}
}
  代碼就寫(xiě)到這里了,項目結構如下
  
  1.5.開(kāi)始Main方法測試
  控制臺啟動(dòng)效果
  
  默認端口為8080,使用瀏覽器訪(fǎng)問(wèn):8080/hello,效果如下
  
  我們從一開(kāi)始就知道 SpringBoot 是用來(lái)簡(jiǎn)化 Spring 應用的構建和開(kāi)發(fā)的。使用 SpringBoot 之后,確實(shí)簡(jiǎn)單很多,集成速度也快很多。但簡(jiǎn)單的背后意味著(zhù)復雜的封裝。
  2.HelloWorld 分析
  完成以上案例后,相信你也看到了測試效果。這一刻,你可能很多東西都不明白,比如:為什么在pom.xml中只需要導入一個(gè)jar包,為什么web項目使用pingtong java項目的結構;為什么不需要 web.xml;使用main方法啟動(dòng)程序等等。讓我們一一解答
  2.1.pom.xml分析
  pom中有3點(diǎn)需要講
  打包方式:jar使用spring-boot-starter-parent項目導入spring-boot-starter-web依賴(lài)包
  【重要】對于SpringBoot,即使是WEB項目的開(kāi)發(fā),也是采用普通java項目的結構。打包方式默認使用jar,不再需要WEB-INF/web.xml等結構。當然SpringBoot也可以使用war來(lái)打包項目,這個(gè)我們后面會(huì )講到。
  在Java中可以看作是extends。繼承父項目后,可以使用項目中的依賴(lài)。對于spring-boot-starter-parent,該項目是SpringBoot的父項目,提供基礎依賴(lài)和插件管理。進(jìn)入spring-boot-starter-parent的pom.xml,可以看到它使用了
  繼承了一個(gè)spring-boot-dependencies項目,如下(ctrl+左鍵):
  
org.springframework.boot

spring-boot-dependencies
2.2.5.RELEASE
../../spring-boot-dependencies

spring-boot-starter-parent
pom
Spring Boot Starter Parent
Parent pom providing dependency and plugin management for applications
built with Maven
https://projects.spring.io/spr ... arent

UTF-8

1.8
@
${java.version}
UTF-8
${java.version}

  可以看到,spring-boot-starter-parent繼承了spring-boot-dependencies,其打包方式為
  pom
  ,默認JDK版本為1.8,我們可以在自己項目的pom.xml中通過(guò)1.7修改JDK版本。
  真正管理依賴(lài)的其實(shí)是spring-boot-dependencies,安裝ctrl點(diǎn)擊進(jìn)去可以看到項目的
  很多很多版本都在它的dependencyManagement中管理,很多很多基礎依賴(lài)在它的dependencyManagement中管理,很多插件在它的pluginManagement中管理。
  簡(jiǎn)而言之:【重要】如果要使用SpringBoot,需要通過(guò)
  繼承spring-boot-starter-parent,父項目為我們管理了很多依賴(lài)和插件。如果我們要使用依賴(lài),只需要在自己項目的pom中引入即可,無(wú)需指定版本號。因為SpringBoot已經(jīng)幫我們管理了版本號。比如我們要導入一個(gè)測試包,在我們自己項目的pom.xml中導入就行了
  
junit
junit
  不需要導入版本號,因為父項目已經(jīng)托管,除非你想更改默認版本。
  在導入spring-boot-starter-web的時(shí)候,我們也指定了版本號??梢韵胂?,依賴(lài)是由spring-boot-starter-parent來(lái)管理的,那么依賴(lài)的作用是什么呢? 顧名思義,就是SpringBoot與WEB環(huán)境集成的依賴(lài)。我們可以打開(kāi)依賴(lài)的結構來(lái)看看
  
  【重要】可以看到一個(gè)spring-boot-starter-web導入了很多其他的依賴(lài),比如:Spring的基礎依賴(lài),SpringMVC的基礎依賴(lài),Jackson的基礎依賴(lài),日志基礎依賴(lài),Tomcat的依賴(lài),自動(dòng)配置依賴(lài),所以這個(gè) spring-boot-starter-web 導入了集成 web 環(huán)境所需的所有依賴(lài)項。你好像明白了什么?
  【重要】順便回答一個(gè)問(wèn)題:為什么不需要部署Tomcat?因為spring-boot-starter-web已經(jīng)導入了一個(gè)tomcat(SpringBoot嵌入式Tomcat),當我們啟動(dòng)main方法的時(shí)候,底層會(huì )啟動(dòng)嵌入式Tomcat,不再需要自己部署。
  2.2.啟動(dòng)類(lèi)分析
  我們來(lái)分析一下啟動(dòng)類(lèi),也就是配置類(lèi)。在學(xué)習Spring的Java Config之前,我們說(shuō)過(guò)用一個(gè)Java類(lèi)來(lái)代替Spring的xml配置作為配置文件,而SpringBoot使用的是Spring的Java Config配置。所以我們剛才的ApplicationConfig是一個(gè)配置類(lèi),它提供了一個(gè)main方法來(lái)啟動(dòng)項目,所以它也是一個(gè)啟動(dòng)類(lèi)。有兩點(diǎn)需要分析
  注解:@SpringBootApplication 啟動(dòng):SpringApplication.run(ApplicationConfig.class)
  @SpringBootApplication 是 SpringBoot 提供的復合注解。它由三個(gè)注釋組成。源碼如下
  //配置注解,該注解上又貼了一個(gè) @Configuration
@SpringBootConfiguration
//開(kāi)啟自動(dòng)配置
@EnableAutoConfiguration
//Spring IOC自動(dòng)掃描
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
@AliasFor(
annotation = EnableAutoConfiguration.class
)
Class[] exclude() default {};
@AliasFor(
annotation = EnableAutoConfiguration.class
)
String[] excludeName() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackages"
)
String[] scanBasePackages() default {};
@AliasFor(
annotation = ComponentScan.class,
attribute = "basePackageClasses"
)
Class[] scanBasePackageClasses() default {};
@AliasFor(
annotation = Configuration.class
)
boolean proxyBeanMethods() default true;
}
  【重要】@SpringBootApplication 收錄三個(gè)注解
  【重要】也就是說(shuō)標注@SpringBootApplication注解的類(lèi)是一個(gè)Spring配置類(lèi),它還具有自動(dòng)掃描IOC的能力,同時(shí)開(kāi)啟了SpringBoot的自動(dòng)配置能力。
  對于main方法中的SpringApplication.run,我們知道它的作用是啟動(dòng)程序。該方法會(huì )初始化SpringBoot環(huán)境,創(chuàng )建AnnotationConfigApplicationContext作為Spring的IOC容器類(lèi),然后執行容器類(lèi)的刷新方法。刷新。加載bean、注冊bean、實(shí)例化bean、自動(dòng)配置、啟動(dòng)嵌入式Tomcat都在這個(gè)方法中。具體細節后面會(huì )講,這里再講。
  2.3.小擴展
  dependencyManagement 和依賴(lài)項
  我們在SpringBoot的父項目中看到了dependencyManagement元素,那么這個(gè)元素中的依賴(lài)和放在dependencies中的依賴(lài)有什么區別呢?放在dependencies中的依賴(lài)可以直接使用。放置在dependencyManagement 中的依賴(lài)項僅用于聲明或管理。依賴(lài)不能直接使用,需要在依賴(lài)中引入才能使用。
  依賴(lài)管理有什么意義?它的意思是管理版本。通常在父項目中使用dependencyManagement來(lái)管理依賴(lài),在子項目中導入依賴(lài),然后導入不需要版本號,因為版本號交給父項目管理。 SpringBoot 就是這樣做的。
  包裝是jar和war的區別
  我們需要在pom中指定
  罐子
  標記項目的打包類(lèi)型,可以指定四種類(lèi)型
  3.項目結構知識
  SpringBoot項目的標準結構如下
  
  代碼存放在java目錄下,resources目錄包括
  4.創(chuàng )建項目的三種方式
  下面介紹幾種創(chuàng )建SpringBoot項目的方法。第一種是手動(dòng)創(chuàng )建,我們剛才已經(jīng)演示過(guò)了,第二種是使用Spring官方提供的快捷方式網(wǎng)站
  
  通過(guò)網(wǎng)站可以直接配置項目屬性,添加依賴(lài),然后點(diǎn)擊generate生成項目,網(wǎng)站會(huì )下載一個(gè)基本的SpringBoot項目。
  第三個(gè)是通過(guò)IDEA的Spring Initializr創(chuàng )建的,如下
  
  配置項目
  
  選擇需要的jar包
  
  點(diǎn)擊下一步,項目創(chuàng )建成功
  5.SpringBoot 特性總結
  根據上面的Hello分析,我們可以總結出SpringBoot的一些特點(diǎn)
  一個(gè)字,酷,但缺點(diǎn)是封裝太深,需要花很多精力去了解它的封裝過(guò)程。
  文章就在這里,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊,喜歡就點(diǎn)贊。

自動(dòng)采集編寫(xiě)(油田注水自動(dòng)采集監控報警系統(AutoMon,IWMon))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 165 次瀏覽 ? 2022-01-13 02:28 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(油田注水自動(dòng)采集監控報警系統(AutoMon,IWMon))
  油田注水自動(dòng)采集監測報警系統(AutoMon,IWMon)一、產(chǎn)品概述“油田注水自動(dòng)采集監測報警系統”是自主研發(fā),基于一套大型關(guān)系型數據庫 Oracle 油田注水井信息自動(dòng)采集監測軟件系統。它利用Internet/Intranet網(wǎng)絡(luò )系統,采用Web方式,實(shí)現油田注水井的自動(dòng)采集實(shí)時(shí)信息,監測各種生產(chǎn)參數,診斷異常并實(shí)時(shí)報警。各級用戶(hù)只需打開(kāi)網(wǎng)頁(yè)瀏覽器,即可在辦公室動(dòng)態(tài)查看各種自動(dòng)匯總報表數據。系統通過(guò)報表和曲線(xiàn)直觀(guān)、直觀(guān)地呈現注水井數據和注水狀態(tài)。二、軟件主要功能系統可通過(guò)服務(wù)器控制,自動(dòng)采集數據,每日定時(shí)采集可從系統獲取注水井相關(guān)信息。通過(guò)現場(chǎng)數據采集儀器,通過(guò)遠程傳輸系統將實(shí)時(shí)注水數據發(fā)送到基地服務(wù)器。2、報警信息自動(dòng)生成及處理過(guò)程 系統對獲取的注水井生產(chǎn)信息進(jìn)行自動(dòng)分析處理。一旦發(fā)現參數異常變化,立即生成報警內容,并將報警信息自動(dòng)發(fā)送給相關(guān)管理人員。3、報警信息展示 報警信息以樹(shù)狀結構呈現給管理員。點(diǎn)擊查看時(shí),會(huì )為用戶(hù)呈現當前注入井最近一段時(shí)間的生產(chǎn)數據和圖表,以便用戶(hù)判斷該井的生產(chǎn)是否真的屬于異常。4、自動(dòng)生成匯總統計報表系統提供了便捷的統計報表生成功能。用戶(hù)只需幾個(gè)操作即可生成復雜多樣的報告。5、注水參數變化曲線(xiàn)顯示6、注水系統遠程控制三、軟件主要特點(diǎn)&lt; @1、靈活的實(shí)時(shí)數據采集接口2、實(shí)時(shí)異常信息報警注水井的異常報警信息可以通過(guò)多種方式實(shí)時(shí)傳達給管理人員,所以第一時(shí)間掌握注水井生產(chǎn)狀況等重要信息,對異常情況及時(shí)作出反應和處理。3、完全基于web的系統實(shí)現4、強大的數據分析功能強大的數據分析和深度挖掘能力,結合先進(jìn)的Web圖形技術(shù),可以顯示注水狀態(tài)最細微的變化,從而是管理注水項目的最佳方式。人員提供最直接的生產(chǎn)依據5、基于角色的權限控制6、 查看全部

  自動(dòng)采集編寫(xiě)(油田注水自動(dòng)采集監控報警系統(AutoMon,IWMon))
  油田注水自動(dòng)采集監測報警系統(AutoMon,IWMon)一、產(chǎn)品概述“油田注水自動(dòng)采集監測報警系統”是自主研發(fā),基于一套大型關(guān)系型數據庫 Oracle 油田注水井信息自動(dòng)采集監測軟件系統。它利用Internet/Intranet網(wǎng)絡(luò )系統,采用Web方式,實(shí)現油田注水井的自動(dòng)采集實(shí)時(shí)信息,監測各種生產(chǎn)參數,診斷異常并實(shí)時(shí)報警。各級用戶(hù)只需打開(kāi)網(wǎng)頁(yè)瀏覽器,即可在辦公室動(dòng)態(tài)查看各種自動(dòng)匯總報表數據。系統通過(guò)報表和曲線(xiàn)直觀(guān)、直觀(guān)地呈現注水井數據和注水狀態(tài)。二、軟件主要功能系統可通過(guò)服務(wù)器控制,自動(dòng)采集數據,每日定時(shí)采集可從系統獲取注水井相關(guān)信息。通過(guò)現場(chǎng)數據采集儀器,通過(guò)遠程傳輸系統將實(shí)時(shí)注水數據發(fā)送到基地服務(wù)器。2、報警信息自動(dòng)生成及處理過(guò)程 系統對獲取的注水井生產(chǎn)信息進(jìn)行自動(dòng)分析處理。一旦發(fā)現參數異常變化,立即生成報警內容,并將報警信息自動(dòng)發(fā)送給相關(guān)管理人員。3、報警信息展示 報警信息以樹(shù)狀結構呈現給管理員。點(diǎn)擊查看時(shí),會(huì )為用戶(hù)呈現當前注入井最近一段時(shí)間的生產(chǎn)數據和圖表,以便用戶(hù)判斷該井的生產(chǎn)是否真的屬于異常。4、自動(dòng)生成匯總統計報表系統提供了便捷的統計報表生成功能。用戶(hù)只需幾個(gè)操作即可生成復雜多樣的報告。5、注水參數變化曲線(xiàn)顯示6、注水系統遠程控制三、軟件主要特點(diǎn)&lt; @1、靈活的實(shí)時(shí)數據采集接口2、實(shí)時(shí)異常信息報警注水井的異常報警信息可以通過(guò)多種方式實(shí)時(shí)傳達給管理人員,所以第一時(shí)間掌握注水井生產(chǎn)狀況等重要信息,對異常情況及時(shí)作出反應和處理。3、完全基于web的系統實(shí)現4、強大的數據分析功能強大的數據分析和深度挖掘能力,結合先進(jìn)的Web圖形技術(shù),可以顯示注水狀態(tài)最細微的變化,從而是管理注水項目的最佳方式。人員提供最直接的生產(chǎn)依據5、基于角色的權限控制6、

自動(dòng)采集編寫(xiě)(DedeCMSV5.6版自動(dòng)采集功能規則使用基本知識講解教程(1))

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 152 次瀏覽 ? 2022-01-09 07:21 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(DedeCMSV5.6版自動(dòng)采集功能規則使用基本知識講解教程(1))
  另一種簡(jiǎn)單的說(shuō)法就是程序化、系統化、自動(dòng)化和智能化 CTRL+C CTRL+V Dedecms 采集這個(gè)功能是早期加入的。過(guò)去一般是添加網(wǎng)站的內容。通過(guò)復制、粘貼、編輯然后發(fā)布,少量的文章就可以了,但是如果對于一個(gè)新站點(diǎn)根本什么都沒(méi)有,那么你需要復制粘貼大量的文章,這是一個(gè)重復無(wú)聊的過(guò)程,內容采集就是為了解決這個(gè)問(wèn)題,把這個(gè)重復的操作簡(jiǎn)化成規則,通過(guò)規則進(jìn)行批量操作。當然,采集也可以用一些特殊的采集器來(lái)采集,中國大名鼎鼎的采集器有一個(gè)機車(chē)。今天,我們將使用Dedecms自帶的采集功能
  首先我們進(jìn)入系統后臺,打開(kāi)[采集]-[采集節點(diǎn)管理],在學(xué)習使用這個(gè)采集功能之前先介紹一些基本的技術(shù)知識。首先,我們需要了解 HTML 的基本內容。我們知道,瀏覽器中顯示的各種頁(yè)面,其實(shí)都是由最基本的 HTML 組成的。我們可以在我們的 Dedecms 系統后臺發(fā)布一個(gè)內容,然后對上面的內容做一些格式化。也就是說(shuō),我們的頁(yè)面是在瀏覽器解析HTML代碼后顯示的。這些基本的HTML代碼是給機器看的,解析出來(lái)的內容是給我們的用戶(hù)看的。機器實(shí)際上是一個(gè)死的東西。不像用戶(hù)看網(wǎng)頁(yè),他直接看到的是某個(gè)部分的內容,機器能看到的就是代碼的某個(gè)部分。德德&lt; 作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。
  以及 HTML 代碼以什么結尾;@采集的規則,有了這些規則之后,采集其實(shí)就是一件很簡(jiǎn)單的事情了。采集的一般步驟主要包括以下步驟: 制作采集規則列表,這里的設置主要告訴服務(wù)器你采集是什么內容,一般是采集的列表頁(yè)面@>網(wǎng)站; 制定內容采集規則:這里告訴服務(wù)器你采集頁(yè)面的內容在頁(yè)面的哪個(gè)部分,一般是采集網(wǎng)站的內容頁(yè)面;采集 生成后的HTML頁(yè)面代碼;我們也可以清楚的看到采集最關(guān)鍵的也是前2步,這兩步是決定采集內容成功與否是一個(gè)重要環(huán)節,有一個(gè)地方&lt; @采集
<p>(第一部分結束)下面結合例子來(lái)說(shuō)明如何使用Dedecms的采集程序來(lái)獲取采集頁(yè)面信息。我們看一下打開(kāi)的采集節點(diǎn)管理頁(yè)面:我們把整個(gè)采集規則和內容變成一個(gè)節點(diǎn),通過(guò)管理節點(diǎn)就可以輕松方便地管理我們的采集規則還有采集內容來(lái)管理,當然采集規則也可以導出,我們只需要選擇對應的采集節點(diǎn),然后點(diǎn)擊【導出配置】,我們就可以指定采集 規則被導出并與所有人共享。當然,獲取節點(diǎn)規則后,也可以通過(guò)系統的【導入采集規則】將采集規則導入系統,方便采集的管理 節點(diǎn),我們也可以查看采集規則。該節點(diǎn)當前采集的內容信息,如采集的日期、創(chuàng )建節點(diǎn)的日期、獲取的url個(gè)數等,都是 查看全部

  自動(dòng)采集編寫(xiě)(DedeCMSV5.6版自動(dòng)采集功能規則使用基本知識講解教程(1))
  另一種簡(jiǎn)單的說(shuō)法就是程序化、系統化、自動(dòng)化和智能化 CTRL+C CTRL+V Dedecms 采集這個(gè)功能是早期加入的。過(guò)去一般是添加網(wǎng)站的內容。通過(guò)復制、粘貼、編輯然后發(fā)布,少量的文章就可以了,但是如果對于一個(gè)新站點(diǎn)根本什么都沒(méi)有,那么你需要復制粘貼大量的文章,這是一個(gè)重復無(wú)聊的過(guò)程,內容采集就是為了解決這個(gè)問(wèn)題,把這個(gè)重復的操作簡(jiǎn)化成規則,通過(guò)規則進(jìn)行批量操作。當然,采集也可以用一些特殊的采集器來(lái)采集,中國大名鼎鼎的采集器有一個(gè)機車(chē)。今天,我們將使用Dedecms自帶的采集功能
  首先我們進(jìn)入系統后臺,打開(kāi)[采集]-[采集節點(diǎn)管理],在學(xué)習使用這個(gè)采集功能之前先介紹一些基本的技術(shù)知識。首先,我們需要了解 HTML 的基本內容。我們知道,瀏覽器中顯示的各種頁(yè)面,其實(shí)都是由最基本的 HTML 組成的。我們可以在我們的 Dedecms 系統后臺發(fā)布一個(gè)內容,然后對上面的內容做一些格式化。也就是說(shuō),我們的頁(yè)面是在瀏覽器解析HTML代碼后顯示的。這些基本的HTML代碼是給機器看的,解析出來(lái)的內容是給我們的用戶(hù)看的。機器實(shí)際上是一個(gè)死的東西。不像用戶(hù)看網(wǎng)頁(yè),他直接看到的是某個(gè)部分的內容,機器能看到的就是代碼的某個(gè)部分。德德&lt; 作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。作者:我要投稿 把這個(gè)頁(yè)面加到網(wǎng)上 摘錄:我們的電腦看不到,他只是判斷顯示的是什么,他只解析代碼,我們右鍵查看這個(gè)文件的源文件。機器讀取代碼的內容,他只能在以下地方理解這部分的內容: 也就是說(shuō),如果我們需要采集這些內容,我們需要告訴機器你是哪一段代碼應該從哪里開(kāi)始,從哪里結束,中間部分就是我們需要的內容,然后自動(dòng)將這些內容添加到數據庫中,省去自己添加內容的無(wú)聊。
  以及 HTML 代碼以什么結尾;@采集的規則,有了這些規則之后,采集其實(shí)就是一件很簡(jiǎn)單的事情了。采集的一般步驟主要包括以下步驟: 制作采集規則列表,這里的設置主要告訴服務(wù)器你采集是什么內容,一般是采集的列表頁(yè)面@>網(wǎng)站; 制定內容采集規則:這里告訴服務(wù)器你采集頁(yè)面的內容在頁(yè)面的哪個(gè)部分,一般是采集網(wǎng)站的內容頁(yè)面;采集 生成后的HTML頁(yè)面代碼;我們也可以清楚的看到采集最關(guān)鍵的也是前2步,這兩步是決定采集內容成功與否是一個(gè)重要環(huán)節,有一個(gè)地方&lt; @采集
<p>(第一部分結束)下面結合例子來(lái)說(shuō)明如何使用Dedecms的采集程序來(lái)獲取采集頁(yè)面信息。我們看一下打開(kāi)的采集節點(diǎn)管理頁(yè)面:我們把整個(gè)采集規則和內容變成一個(gè)節點(diǎn),通過(guò)管理節點(diǎn)就可以輕松方便地管理我們的采集規則還有采集內容來(lái)管理,當然采集規則也可以導出,我們只需要選擇對應的采集節點(diǎn),然后點(diǎn)擊【導出配置】,我們就可以指定采集 規則被導出并與所有人共享。當然,獲取節點(diǎn)規則后,也可以通過(guò)系統的【導入采集規則】將采集規則導入系統,方便采集的管理 節點(diǎn),我們也可以查看采集規則。該節點(diǎn)當前采集的內容信息,如采集的日期、創(chuàng )建節點(diǎn)的日期、獲取的url個(gè)數等,都是

自動(dòng)采集編寫(xiě)(站長(cháng)快車(chē)采集器v4.0更新內容:更新的內容與發(fā)布程序)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 163 次瀏覽 ? 2022-01-08 17:17 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(站長(cháng)快車(chē)采集器v4.0更新內容:更新的內容與發(fā)布程序)
  站長(cháng)速遞是針對各大主流文章系統、論壇系統等的多線(xiàn)程會(huì )員注冊、內容采集和發(fā)布程序。使用站長(cháng)速遞,你可以瞬間搭建一個(gè)網(wǎng)站內容并迅速提高論壇的知名度。其豐富的規則模板和靈活的自定義模塊可適用于各種內容發(fā)布系統。系統收錄自定義規則采集、智能采集、批量會(huì )員注冊、批量發(fā)帖和轉帖等多項功能。在系統界面,您可以直接管理內容數據庫,實(shí)時(shí)瀏覽,可視化修改,輸入SQL命令運行操作,批量替換操作。軟件中的優(yōu)化功能讓你更得心應手,它可以生成標簽關(guān)鍵詞,刪除重復記錄、非法關(guān)鍵詞過(guò)濾、同義詞替換等可以讓你的采集返回數據變成原創(chuàng ),更有利于SEO搜索引擎優(yōu)化。從現在開(kāi)始,您可以?huà)仐夁^(guò)去重復且繁瑣的手動(dòng)添加工作。
  站長(cháng)速遞 采集器 v4.0 更新內容:
  1、為目標網(wǎng)站添加智能采集,只需填寫(xiě)目標網(wǎng)站欄頁(yè)地址或直接輸入內容頁(yè)地址即可自動(dòng)采集對應內容。不再需要編寫(xiě)任何采集規則采集。
  2、修改了關(guān)鍵詞的智能采集。只需從百度、google、搜狗、雅虎等各大搜索引擎輸入關(guān)鍵詞到采集到相應的新聞內容或博客文章。
  3、新增自動(dòng)獲取照片功能關(guān)鍵詞和熱門(mén)關(guān)鍵詞。
  4、智能采集測試工具已添加到菜單工具欄中。輸入任何頁(yè)面 URL 以自動(dòng)提取標題、時(shí)間和正文內容。
  5、修復線(xiàn)程過(guò)多導致的軟件假死。
  6、修復了軟件中的一些bug 查看全部

  自動(dòng)采集編寫(xiě)(站長(cháng)快車(chē)采集器v4.0更新內容:更新的內容與發(fā)布程序)
  站長(cháng)速遞是針對各大主流文章系統、論壇系統等的多線(xiàn)程會(huì )員注冊、內容采集和發(fā)布程序。使用站長(cháng)速遞,你可以瞬間搭建一個(gè)網(wǎng)站內容并迅速提高論壇的知名度。其豐富的規則模板和靈活的自定義模塊可適用于各種內容發(fā)布系統。系統收錄自定義規則采集、智能采集、批量會(huì )員注冊、批量發(fā)帖和轉帖等多項功能。在系統界面,您可以直接管理內容數據庫,實(shí)時(shí)瀏覽,可視化修改,輸入SQL命令運行操作,批量替換操作。軟件中的優(yōu)化功能讓你更得心應手,它可以生成標簽關(guān)鍵詞,刪除重復記錄、非法關(guān)鍵詞過(guò)濾、同義詞替換等可以讓你的采集返回數據變成原創(chuàng ),更有利于SEO搜索引擎優(yōu)化。從現在開(kāi)始,您可以?huà)仐夁^(guò)去重復且繁瑣的手動(dòng)添加工作。
  站長(cháng)速遞 采集器 v4.0 更新內容:
  1、為目標網(wǎng)站添加智能采集,只需填寫(xiě)目標網(wǎng)站欄頁(yè)地址或直接輸入內容頁(yè)地址即可自動(dòng)采集對應內容。不再需要編寫(xiě)任何采集規則采集。
  2、修改了關(guān)鍵詞的智能采集。只需從百度、google、搜狗、雅虎等各大搜索引擎輸入關(guān)鍵詞到采集到相應的新聞內容或博客文章。
  3、新增自動(dòng)獲取照片功能關(guān)鍵詞和熱門(mén)關(guān)鍵詞。
  4、智能采集測試工具已添加到菜單工具欄中。輸入任何頁(yè)面 URL 以自動(dòng)提取標題、時(shí)間和正文內容。
  5、修復線(xiàn)程過(guò)多導致的軟件假死。
  6、修復了軟件中的一些bug

自動(dòng)采集編寫(xiě)( 帝國CMS發(fā)布具有哪些功能特性以及如何配置SEO優(yōu)化? )

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 172 次瀏覽 ? 2022-01-08 16:01 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(
帝國CMS發(fā)布具有哪些功能特性以及如何配置SEO優(yōu)化?
)
  
  帝國cms發(fā)布,顛覆了之前的cms發(fā)布功能,不僅發(fā)布,發(fā)布時(shí)還添加了SEO優(yōu)化功能,同時(shí)擁有采集和偽原創(chuàng ),讓網(wǎng)站內容更新實(shí)現一站式自動(dòng)批量采集偽原創(chuàng )發(fā)布。無(wú)論是采集還是偽原創(chuàng )還是發(fā)布,每個(gè)功能都加入了SEO優(yōu)化,每一步我們一步步做SEO優(yōu)化,做到穩定。最新的 Empire cms 版本本質(zhì)上是一個(gè)集成了很多功能的 網(wǎng)站 批處理管理工具。無(wú)論采集的內容有多少,都可以自動(dòng)針對SEO進(jìn)行優(yōu)化,然后進(jìn)行量化量化。會(huì )自動(dòng)發(fā)布到 網(wǎng)站。在&lt;的優(yōu)化過(guò)程中 @網(wǎng)站建設網(wǎng)站,站長(cháng)有Empirecms發(fā)布的支持,定性提高工作效率和工作效果。這樣一來(lái),小編制作的帝國cms網(wǎng)站無(wú)論是收錄,排名還是權重,效果都還不錯,而且是純粹的采集車(chē)站。
  
  Imperialcms 版本有哪些功能以及如何配置SEO優(yōu)化:
  首先是操作極其簡(jiǎn)單,是最簡(jiǎn)單最極致的,不需要寫(xiě)任何發(fā)布規則。整個(gè)發(fā)布設置界面只需要點(diǎn)擊按鈕填寫(xiě)現有域名信息即可。具體流程如下: 1.填寫(xiě)域名、后臺登錄路徑和管理員賬號密碼,關(guān)閉驗證碼登錄。2.選擇cms的類(lèi)型和監控文件夾。特點(diǎn)是通過(guò)監控文件夾,只要文件夾中有新文件,就可以自動(dòng)發(fā)布到網(wǎng)站。自動(dòng)排版以使內容看起來(lái)更好。3.設置發(fā)布時(shí)間和數量。這樣做的好處是 網(wǎng)站 更新是定期的。對于搜索引擎,一個(gè)常規的&lt; @網(wǎng)站 更受青睞。4.設置發(fā)布的文章自動(dòng)將相關(guān)的關(guān)鍵詞插入到標題中,文章控制插入的頻率。這不是疊加關(guān)鍵詞,而是讓網(wǎng)站相關(guān)關(guān)鍵詞出現的頻率在一個(gè)標準范圍內,對SEO優(yōu)化有很大幫助網(wǎng)站收錄和 關(guān)鍵詞 排名。5.設置隨機圖片插入、隨機點(diǎn)贊、閱讀量、作者數,讓用戶(hù)進(jìn)入你的網(wǎng)站看到的內容會(huì )更生動(dòng),更直觀(guān)將您的 網(wǎng)站 信息傳遞給用戶(hù)。6.點(diǎn)擊選擇自動(dòng)推送,每發(fā)表一篇文章文章都可以主動(dòng)推送到各大搜索引擎,
  
  帝國cms發(fā)布了這些功能,我們可以看到,每個(gè)按鈕其實(shí)都是互聯(lián)網(wǎng)上的一個(gè)插件。將這些功能整合在一起,對于網(wǎng)站本身的管理會(huì )更加方便,網(wǎng)站減輕負擔。對于網(wǎng)站管理員來(lái)說(shuō),工作量減少,工作效率大大提高。一個(gè)接口可以管理所有cms 和功能屬性。同時(shí)為了簡(jiǎn)化網(wǎng)站的管理,帝國cms采集也一起配置,采集的操作也很簡(jiǎn)單,沒(méi)有需要寫(xiě)規則,創(chuàng )建一個(gè)采集任務(wù),關(guān)鍵詞可以根據需求自動(dòng)生成,批量生成關(guān)鍵詞批量文章采集。采集 過(guò)去需要一天時(shí)間 幾個(gè)網(wǎng)站的releases要發(fā)布,但是現在同時(shí)配置了幾十個(gè)網(wǎng)站s,一會(huì )就搞定了。車(chē)站和管理的好幫手。
  
  帝國cms發(fā)布的文章就寫(xiě)在這里。寫(xiě)這個(gè)文章的目的是很多站長(cháng)用Empirecms來(lái)做網(wǎng)站,但是弊端也很明顯。帝國cms的發(fā)布很好的解決了站長(cháng)們的痛點(diǎn),惠及了更多的站長(cháng),讓他們的網(wǎng)站變得更好,管理起來(lái)更輕松、更快捷!
   查看全部

  自動(dòng)采集編寫(xiě)(
帝國CMS發(fā)布具有哪些功能特性以及如何配置SEO優(yōu)化?
)
  
  帝國cms發(fā)布,顛覆了之前的cms發(fā)布功能,不僅發(fā)布,發(fā)布時(shí)還添加了SEO優(yōu)化功能,同時(shí)擁有采集和偽原創(chuàng ),讓網(wǎng)站內容更新實(shí)現一站式自動(dòng)批量采集偽原創(chuàng )發(fā)布。無(wú)論是采集還是偽原創(chuàng )還是發(fā)布,每個(gè)功能都加入了SEO優(yōu)化,每一步我們一步步做SEO優(yōu)化,做到穩定。最新的 Empire cms 版本本質(zhì)上是一個(gè)集成了很多功能的 網(wǎng)站 批處理管理工具。無(wú)論采集的內容有多少,都可以自動(dòng)針對SEO進(jìn)行優(yōu)化,然后進(jìn)行量化量化。會(huì )自動(dòng)發(fā)布到 網(wǎng)站。在&lt;的優(yōu)化過(guò)程中 @網(wǎng)站建設網(wǎng)站,站長(cháng)有Empirecms發(fā)布的支持,定性提高工作效率和工作效果。這樣一來(lái),小編制作的帝國cms網(wǎng)站無(wú)論是收錄,排名還是權重,效果都還不錯,而且是純粹的采集車(chē)站。
  
  Imperialcms 版本有哪些功能以及如何配置SEO優(yōu)化:
  首先是操作極其簡(jiǎn)單,是最簡(jiǎn)單最極致的,不需要寫(xiě)任何發(fā)布規則。整個(gè)發(fā)布設置界面只需要點(diǎn)擊按鈕填寫(xiě)現有域名信息即可。具體流程如下: 1.填寫(xiě)域名、后臺登錄路徑和管理員賬號密碼,關(guān)閉驗證碼登錄。2.選擇cms的類(lèi)型和監控文件夾。特點(diǎn)是通過(guò)監控文件夾,只要文件夾中有新文件,就可以自動(dòng)發(fā)布到網(wǎng)站。自動(dòng)排版以使內容看起來(lái)更好。3.設置發(fā)布時(shí)間和數量。這樣做的好處是 網(wǎng)站 更新是定期的。對于搜索引擎,一個(gè)常規的&lt; @網(wǎng)站 更受青睞。4.設置發(fā)布的文章自動(dòng)將相關(guān)的關(guān)鍵詞插入到標題中,文章控制插入的頻率。這不是疊加關(guān)鍵詞,而是讓網(wǎng)站相關(guān)關(guān)鍵詞出現的頻率在一個(gè)標準范圍內,對SEO優(yōu)化有很大幫助網(wǎng)站收錄和 關(guān)鍵詞 排名。5.設置隨機圖片插入、隨機點(diǎn)贊、閱讀量、作者數,讓用戶(hù)進(jìn)入你的網(wǎng)站看到的內容會(huì )更生動(dòng),更直觀(guān)將您的 網(wǎng)站 信息傳遞給用戶(hù)。6.點(diǎn)擊選擇自動(dòng)推送,每發(fā)表一篇文章文章都可以主動(dòng)推送到各大搜索引擎,
  
  帝國cms發(fā)布了這些功能,我們可以看到,每個(gè)按鈕其實(shí)都是互聯(lián)網(wǎng)上的一個(gè)插件。將這些功能整合在一起,對于網(wǎng)站本身的管理會(huì )更加方便,網(wǎng)站減輕負擔。對于網(wǎng)站管理員來(lái)說(shuō),工作量減少,工作效率大大提高。一個(gè)接口可以管理所有cms 和功能屬性。同時(shí)為了簡(jiǎn)化網(wǎng)站的管理,帝國cms采集也一起配置,采集的操作也很簡(jiǎn)單,沒(méi)有需要寫(xiě)規則,創(chuàng )建一個(gè)采集任務(wù),關(guān)鍵詞可以根據需求自動(dòng)生成,批量生成關(guān)鍵詞批量文章采集。采集 過(guò)去需要一天時(shí)間 幾個(gè)網(wǎng)站的releases要發(fā)布,但是現在同時(shí)配置了幾十個(gè)網(wǎng)站s,一會(huì )就搞定了。車(chē)站和管理的好幫手。
  
  帝國cms發(fā)布的文章就寫(xiě)在這里。寫(xiě)這個(gè)文章的目的是很多站長(cháng)用Empirecms來(lái)做網(wǎng)站,但是弊端也很明顯。帝國cms的發(fā)布很好的解決了站長(cháng)們的痛點(diǎn),惠及了更多的站長(cháng),讓他們的網(wǎng)站變得更好,管理起來(lái)更輕松、更快捷!
  

自動(dòng)采集編寫(xiě)(網(wǎng)上信息自動(dòng)采集系統相關(guān)畢業(yè)論文格式范文和優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 189 次瀏覽 ? 2022-01-07 20:11 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(網(wǎng)上信息自動(dòng)采集系統相關(guān)畢業(yè)論文格式范文和優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻)
  本論文是網(wǎng)絡(luò )信息相關(guān)畢業(yè)論文網(wǎng)的范文,與網(wǎng)絡(luò )信息相關(guān)的自動(dòng)采集系統相關(guān)的畢業(yè)論文格式,可用于網(wǎng)絡(luò )信息論文的研究寫(xiě)作及大學(xué)碩士、本科畢業(yè)論文開(kāi)題報告模板及優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻下載。免費教你如何寫(xiě)網(wǎng)絡(luò )信息和信息數據庫的范文。
  摘要 在線(xiàn)信息自動(dòng)采集系統是利用網(wǎng)頁(yè)信息采集器自動(dòng)采集互聯(lián)網(wǎng)上需要的各種信息,包括文字、圖片等內容,并使用存儲的模板對Play進(jìn)行分類(lèi)存儲,達到實(shí)時(shí)快速播放的效果。它還具有檢索、監控、保護等功能,具有速度快、智能化的特點(diǎn)。通過(guò)這個(gè)系統,可以解決當前傳統信息采集和搜索引擎的問(wèn)題。率低、殺傷率低、不靈活的缺點(diǎn)。
  在線(xiàn)信息自動(dòng)采集系統參考屬性評價(jià)論文范文主題相關(guān)研究:
  網(wǎng)絡(luò )信息范文
  大學(xué)生申請:
  在職研究生論文、大學(xué)論文
  相關(guān)參考下載次數:
  52
  寫(xiě)作解決問(wèn)題:
  文具
  開(kāi)學(xué)報告:
  論文大綱、摘要
  題目論文適用:
  期刊發(fā)表、職稱(chēng)評價(jià)中級
  大學(xué)生的主要類(lèi)別:
  文具
  論文題目推薦:
  優(yōu)秀的話(huà)題
  關(guān)鍵詞信息獲取與編輯;自動(dòng) 采集; 快速釋放
  中文圖書(shū)館分類(lèi)號TN949.292 文獻識別碼A文章 編號1673-9671-(2013)012-0150-01
  1 背景
  互聯(lián)網(wǎng)時(shí)代,一切都在高速運轉。每分每秒都會(huì )產(chǎn)生無(wú)數的新信息。第一時(shí)間獲取全面準確的信息對于與信息息息相關(guān)的各行各業(yè)變得越來(lái)越重要。需求越迫切。隨著(zhù)網(wǎng)絡(luò )信息資源的快速增長(cháng),人們越來(lái)越關(guān)注如何開(kāi)發(fā)和利用這些資源。然而,目的是
  
  在網(wǎng)絡(luò )信息相關(guān)論文模板檢索方面,中英文搜索引擎的準確率和召回率都較低。這種現狀已經(jīng)不能滿(mǎn)足用戶(hù)對優(yōu)質(zhì)網(wǎng)絡(luò )信息服務(wù)的需求;與此同時(shí),電子商務(wù)和各種網(wǎng)絡(luò )信息服務(wù)的迅速興起,原有的網(wǎng)絡(luò )信息處理和組織技術(shù)已經(jīng)跟不上這種發(fā)展趨勢,網(wǎng)絡(luò )信息挖掘就是在這樣的環(huán)境下應運而生,并迅速成為網(wǎng)絡(luò )信息檢索和信息服務(wù)領(lǐng)域的熱點(diǎn)。@一.
  隨著(zhù)互聯(lián)網(wǎng)的飛速發(fā)展,越來(lái)越多的信息呈現在用戶(hù)面前,在現實(shí)生活中,但同時(shí)存在的問(wèn)題是,用戶(hù)獲取自己最需要的信息越來(lái)越困難。對于用戶(hù)一般的信息查詢(xún)和檢索需求,傳統信息采集器組成的搜索引擎可以提供更好的服務(wù),但對于用戶(hù)更具體的需求,這種傳統信息提供的服務(wù)基于整個(gè)網(wǎng)頁(yè)采集 不滿(mǎn)意。對于每個(gè)用戶(hù),雖然輸入了相同的查詢(xún)詞,但他們想要的查詢(xún)結果卻不盡相同,而傳統信息采集和搜索引擎只能硬性返回相同。因此,這是不合理的,需要改進(jìn)。本文提出了一種基于CIS結構的在線(xiàn)信息采集與編輯系統。在線(xiàn)信息采集編輯系統可實(shí)現對在線(xiàn)信息搜索數據庫的實(shí)時(shí)監控、采集、存儲和實(shí)時(shí)更新,提供包括最新信息的全文搜索,可充分滿(mǎn)足各類(lèi)復雜、苛刻的信息服務(wù)需要。
  2 原則
  網(wǎng)絡(luò )信息采集主要是指通過(guò)網(wǎng)頁(yè)之間的鏈接關(guān)系,自動(dòng)從一個(gè)網(wǎng)頁(yè)中獲取頁(yè)面信息,并通過(guò)鏈接不斷擴展到需要的網(wǎng)頁(yè)的過(guò)程。這個(gè)過(guò)程主要是通過(guò)網(wǎng)頁(yè)信息采集器來(lái)實(shí)現的。根據不同的應用習慣,粗略的講,主要是指這樣一個(gè)程序,從一組初始的URL開(kāi)始,將這些URL全部放到一個(gè)有序等待的采集隊列中。而采集器依次從這個(gè)隊列中取出URL,通過(guò)網(wǎng)頁(yè)上的協(xié)議獲取該URL指向的頁(yè)面,然后從這些獲取到的頁(yè)面中提取出新的URL,并繼續將它們放入等待采集隊列,然后重復上述過(guò)程直到采集器 根據自己的策略停止采集。對于大多數采集器來(lái)說(shuō),這就是結束,而對于一些采集器來(lái)說(shuō),還需要對采集到達的頁(yè)面數據和相關(guān)處理結果進(jìn)行存儲和索引,并對其進(jìn)行語(yǔ)義分析內容在此基礎上。
  3 結構
  網(wǎng)頁(yè)信息采集系統基本上可以分為5個(gè)部分:URL處理器、協(xié)議處理器、重復內容檢測器、URL提取器、Meat信息獲取器。以及幾個(gè)功能子系統:信息監控系統、信息采集系統、信息存儲系統、檢索系統。
  3.1 信息監控系統
  信息監控系統的作用是跟蹤信息源的更新?tīng)顟B(tài),一旦出現新信息,立即通知信息采集系統。其主要特點(diǎn)包括: 1) 高效監控:多線(xiàn)程并發(fā)監控設計,每分鐘可以判斷是否有多達數百個(gè)網(wǎng)站的信息更新,使用效果非常好。2) 低帶寬占用:自動(dòng)提取web特征屬性,判斷是否有更新,每次需要時(shí)傳輸的信息只有幾個(gè)字節,占用帶寬極少。3)精準反饋:發(fā)現目標網(wǎng)站更新后,會(huì )自動(dòng)分析判斷鏈接、文件屬性、
  3.2信息采集系統
  對于圖片和文字同時(shí)存在的內容,在獲取文字內容的同時(shí),還可以精準獲取圖片,準確保存圖片在文字中的位置。
  1)超高速:標準的多線(xiàn)程并發(fā)指令執行設計,極快的信息采集速度。監控系統發(fā)現新更新的信息后,1分鐘內可以將90%的信息采集獲取到本地。
  2)準確采集:僅采集新增信息的主要內容,自動(dòng)過(guò)濾掉導航鏈接、相關(guān)信息鏈接等無(wú)效信息。
  3)智能線(xiàn)程調度:可根據網(wǎng)絡(luò )情況自由調整并發(fā)執行線(xiàn)程數。專(zhuān)為動(dòng)態(tài)網(wǎng)頁(yè)信息而設計,支持采集,可以是采集ASP、JSP、PHP等各種程序自動(dòng)生成的網(wǎng)頁(yè)信息。
  3.3 信息存儲系統
  1)本地存儲:將抓取到的信息存儲在本地硬盤(pán)上,提高信息訪(fǎng)問(wèn)速度,有效避免因修改信息源導致信息找不到的情況。同時(shí),信息在本地存儲后會(huì )恢復。它可以發(fā)送到編輯和發(fā)布系統進(jìn)行進(jìn)一步處理。 查看全部

  自動(dòng)采集編寫(xiě)(網(wǎng)上信息自動(dòng)采集系統相關(guān)畢業(yè)論文格式范文和優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻)
  本論文是網(wǎng)絡(luò )信息相關(guān)畢業(yè)論文網(wǎng)的范文,與網(wǎng)絡(luò )信息相關(guān)的自動(dòng)采集系統相關(guān)的畢業(yè)論文格式,可用于網(wǎng)絡(luò )信息論文的研究寫(xiě)作及大學(xué)碩士、本科畢業(yè)論文開(kāi)題報告模板及優(yōu)秀學(xué)術(shù)職稱(chēng)論文參考文獻下載。免費教你如何寫(xiě)網(wǎng)絡(luò )信息和信息數據庫的范文。
  摘要 在線(xiàn)信息自動(dòng)采集系統是利用網(wǎng)頁(yè)信息采集器自動(dòng)采集互聯(lián)網(wǎng)上需要的各種信息,包括文字、圖片等內容,并使用存儲的模板對Play進(jìn)行分類(lèi)存儲,達到實(shí)時(shí)快速播放的效果。它還具有檢索、監控、保護等功能,具有速度快、智能化的特點(diǎn)。通過(guò)這個(gè)系統,可以解決當前傳統信息采集和搜索引擎的問(wèn)題。率低、殺傷率低、不靈活的缺點(diǎn)。
  在線(xiàn)信息自動(dòng)采集系統參考屬性評價(jià)論文范文主題相關(guān)研究:
  網(wǎng)絡(luò )信息范文
  大學(xué)生申請:
  在職研究生論文、大學(xué)論文
  相關(guān)參考下載次數:
  52
  寫(xiě)作解決問(wèn)題:
  文具
  開(kāi)學(xué)報告:
  論文大綱、摘要
  題目論文適用:
  期刊發(fā)表、職稱(chēng)評價(jià)中級
  大學(xué)生的主要類(lèi)別:
  文具
  論文題目推薦:
  優(yōu)秀的話(huà)題
  關(guān)鍵詞信息獲取與編輯;自動(dòng) 采集; 快速釋放
  中文圖書(shū)館分類(lèi)號TN949.292 文獻識別碼A文章 編號1673-9671-(2013)012-0150-01
  1 背景
  互聯(lián)網(wǎng)時(shí)代,一切都在高速運轉。每分每秒都會(huì )產(chǎn)生無(wú)數的新信息。第一時(shí)間獲取全面準確的信息對于與信息息息相關(guān)的各行各業(yè)變得越來(lái)越重要。需求越迫切。隨著(zhù)網(wǎng)絡(luò )信息資源的快速增長(cháng),人們越來(lái)越關(guān)注如何開(kāi)發(fā)和利用這些資源。然而,目的是
  
  在網(wǎng)絡(luò )信息相關(guān)論文模板檢索方面,中英文搜索引擎的準確率和召回率都較低。這種現狀已經(jīng)不能滿(mǎn)足用戶(hù)對優(yōu)質(zhì)網(wǎng)絡(luò )信息服務(wù)的需求;與此同時(shí),電子商務(wù)和各種網(wǎng)絡(luò )信息服務(wù)的迅速興起,原有的網(wǎng)絡(luò )信息處理和組織技術(shù)已經(jīng)跟不上這種發(fā)展趨勢,網(wǎng)絡(luò )信息挖掘就是在這樣的環(huán)境下應運而生,并迅速成為網(wǎng)絡(luò )信息檢索和信息服務(wù)領(lǐng)域的熱點(diǎn)。@一.
  隨著(zhù)互聯(lián)網(wǎng)的飛速發(fā)展,越來(lái)越多的信息呈現在用戶(hù)面前,在現實(shí)生活中,但同時(shí)存在的問(wèn)題是,用戶(hù)獲取自己最需要的信息越來(lái)越困難。對于用戶(hù)一般的信息查詢(xún)和檢索需求,傳統信息采集器組成的搜索引擎可以提供更好的服務(wù),但對于用戶(hù)更具體的需求,這種傳統信息提供的服務(wù)基于整個(gè)網(wǎng)頁(yè)采集 不滿(mǎn)意。對于每個(gè)用戶(hù),雖然輸入了相同的查詢(xún)詞,但他們想要的查詢(xún)結果卻不盡相同,而傳統信息采集和搜索引擎只能硬性返回相同。因此,這是不合理的,需要改進(jìn)。本文提出了一種基于CIS結構的在線(xiàn)信息采集與編輯系統。在線(xiàn)信息采集編輯系統可實(shí)現對在線(xiàn)信息搜索數據庫的實(shí)時(shí)監控、采集、存儲和實(shí)時(shí)更新,提供包括最新信息的全文搜索,可充分滿(mǎn)足各類(lèi)復雜、苛刻的信息服務(wù)需要。
  2 原則
  網(wǎng)絡(luò )信息采集主要是指通過(guò)網(wǎng)頁(yè)之間的鏈接關(guān)系,自動(dòng)從一個(gè)網(wǎng)頁(yè)中獲取頁(yè)面信息,并通過(guò)鏈接不斷擴展到需要的網(wǎng)頁(yè)的過(guò)程。這個(gè)過(guò)程主要是通過(guò)網(wǎng)頁(yè)信息采集器來(lái)實(shí)現的。根據不同的應用習慣,粗略的講,主要是指這樣一個(gè)程序,從一組初始的URL開(kāi)始,將這些URL全部放到一個(gè)有序等待的采集隊列中。而采集器依次從這個(gè)隊列中取出URL,通過(guò)網(wǎng)頁(yè)上的協(xié)議獲取該URL指向的頁(yè)面,然后從這些獲取到的頁(yè)面中提取出新的URL,并繼續將它們放入等待采集隊列,然后重復上述過(guò)程直到采集器 根據自己的策略停止采集。對于大多數采集器來(lái)說(shuō),這就是結束,而對于一些采集器來(lái)說(shuō),還需要對采集到達的頁(yè)面數據和相關(guān)處理結果進(jìn)行存儲和索引,并對其進(jìn)行語(yǔ)義分析內容在此基礎上。
  3 結構
  網(wǎng)頁(yè)信息采集系統基本上可以分為5個(gè)部分:URL處理器、協(xié)議處理器、重復內容檢測器、URL提取器、Meat信息獲取器。以及幾個(gè)功能子系統:信息監控系統、信息采集系統、信息存儲系統、檢索系統。
  3.1 信息監控系統
  信息監控系統的作用是跟蹤信息源的更新?tīng)顟B(tài),一旦出現新信息,立即通知信息采集系統。其主要特點(diǎn)包括: 1) 高效監控:多線(xiàn)程并發(fā)監控設計,每分鐘可以判斷是否有多達數百個(gè)網(wǎng)站的信息更新,使用效果非常好。2) 低帶寬占用:自動(dòng)提取web特征屬性,判斷是否有更新,每次需要時(shí)傳輸的信息只有幾個(gè)字節,占用帶寬極少。3)精準反饋:發(fā)現目標網(wǎng)站更新后,會(huì )自動(dòng)分析判斷鏈接、文件屬性、
  3.2信息采集系統
  對于圖片和文字同時(shí)存在的內容,在獲取文字內容的同時(shí),還可以精準獲取圖片,準確保存圖片在文字中的位置。
  1)超高速:標準的多線(xiàn)程并發(fā)指令執行設計,極快的信息采集速度。監控系統發(fā)現新更新的信息后,1分鐘內可以將90%的信息采集獲取到本地。
  2)準確采集:僅采集新增信息的主要內容,自動(dòng)過(guò)濾掉導航鏈接、相關(guān)信息鏈接等無(wú)效信息。
  3)智能線(xiàn)程調度:可根據網(wǎng)絡(luò )情況自由調整并發(fā)執行線(xiàn)程數。專(zhuān)為動(dòng)態(tài)網(wǎng)頁(yè)信息而設計,支持采集,可以是采集ASP、JSP、PHP等各種程序自動(dòng)生成的網(wǎng)頁(yè)信息。
  3.3 信息存儲系統
  1)本地存儲:將抓取到的信息存儲在本地硬盤(pán)上,提高信息訪(fǎng)問(wèn)速度,有效避免因修改信息源導致信息找不到的情況。同時(shí),信息在本地存儲后會(huì )恢復。它可以發(fā)送到編輯和發(fā)布系統進(jìn)行進(jìn)一步處理。

自動(dòng)采集編寫(xiě)(如何學(xué)好,采集規則的編寫(xiě)呢?-樂(lè )題庫)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 124 次瀏覽 ? 2022-01-06 17:15 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(如何學(xué)好,采集規則的編寫(xiě)呢?-樂(lè )題庫)
  第十六課 DEDE采集 規則編寫(xiě) 通過(guò)以上課程,我們對仿網(wǎng)站有了一個(gè)比較大的基本了解,所以本課我們將學(xué)習采集 DEDE 程序。規則的編寫(xiě),那么問(wèn)題來(lái)了,為什么要學(xué)習DEDE的采集規則的編寫(xiě)?那么這個(gè)采集能帶來(lái)什么好處,又有什么作用呢?接下來(lái)我們將分析學(xué)習這些問(wèn)題,以及如何學(xué)好,采集規則編寫(xiě)1.學(xué)習采集規則的原因采集規則是為了使站長(cháng)快速建立資源的快捷方式。它使我們能夠快速實(shí)現其他人站點(diǎn)上資源的自動(dòng)轉移。
  2、采集規則的編寫(xiě)對于采集的規則的編寫(xiě),我們主要是舉例說(shuō)明。采集首先要確定一個(gè)目標網(wǎng)站
  DEDEcms5.3個(gè)簡(jiǎn)單的學(xué)習資料
  DEDEcms問(wèn)答?tid=102730
  DEDEcms系統模板標簽代碼參考總結:這一課我們學(xué)習了DEDE程序采集規則的編寫(xiě),主要講解,學(xué)習一個(gè)采集,能夠掌握各種采集。
  -------------------------------------------------- -------------------------------------------------- ——
  3G安全網(wǎng)提醒您:部分軟件可能被反軟件誤報,屬正?,F象。如果你不放心,你可以不下載它。
  所有教程和軟件均為網(wǎng)上轉載,下載后請在24小時(shí)內刪除!
  部分教程和軟件含有廣告,交易請慎重! 查看全部

  自動(dòng)采集編寫(xiě)(如何學(xué)好,采集規則的編寫(xiě)呢?-樂(lè )題庫)
  第十六課 DEDE采集 規則編寫(xiě) 通過(guò)以上課程,我們對仿網(wǎng)站有了一個(gè)比較大的基本了解,所以本課我們將學(xué)習采集 DEDE 程序。規則的編寫(xiě),那么問(wèn)題來(lái)了,為什么要學(xué)習DEDE的采集規則的編寫(xiě)?那么這個(gè)采集能帶來(lái)什么好處,又有什么作用呢?接下來(lái)我們將分析學(xué)習這些問(wèn)題,以及如何學(xué)好,采集規則編寫(xiě)1.學(xué)習采集規則的原因采集規則是為了使站長(cháng)快速建立資源的快捷方式。它使我們能夠快速實(shí)現其他人站點(diǎn)上資源的自動(dòng)轉移。
  2、采集規則的編寫(xiě)對于采集的規則的編寫(xiě),我們主要是舉例說(shuō)明。采集首先要確定一個(gè)目標網(wǎng)站
  DEDEcms5.3個(gè)簡(jiǎn)單的學(xué)習資料
  DEDEcms問(wèn)答?tid=102730
  DEDEcms系統模板標簽代碼參考總結:這一課我們學(xué)習了DEDE程序采集規則的編寫(xiě),主要講解,學(xué)習一個(gè)采集,能夠掌握各種采集。
  -------------------------------------------------- -------------------------------------------------- ——
  3G安全網(wǎng)提醒您:部分軟件可能被反軟件誤報,屬正?,F象。如果你不放心,你可以不下載它。
  所有教程和軟件均為網(wǎng)上轉載,下載后請在24小時(shí)內刪除!
  部分教程和軟件含有廣告,交易請慎重!

自動(dòng)采集編寫(xiě)(智能防封優(yōu)采云采集可輕松采集10億數據無(wú)錯漏)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 135 次瀏覽 ? 2022-01-06 03:14 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(智能防封優(yōu)采云采集可輕松采集10億數據無(wú)錯漏)
  優(yōu)采云采集器是一個(gè)智能、實(shí)用、穩定、高效的專(zhuān)業(yè)云采集服務(wù)平臺,優(yōu)采云采集器無(wú)需編寫(xiě)代碼,即可采集任何網(wǎng)站,0基礎30秒上手,1分鐘搞定數據。如果你不懂網(wǎng)絡(luò )爬蟲(chóng)技術(shù),你可以輕松采集數據日均采集10億條數據,沒(méi)有錯誤或遺漏。
  軟件說(shuō)明
  優(yōu)采云內置采集登錄模塊,只需配置目標網(wǎng)站的賬號和密碼,即可使用該模塊對采集進(jìn)行登錄數據;同時(shí)優(yōu)采云還自帶采集Cookie的自定義功能,首次登錄后可以自動(dòng)記住cookie,免去輸入多個(gè)密碼的繁瑣,支持更多網(wǎng)站 采集。優(yōu)采云操作簡(jiǎn)單,功能強大,滿(mǎn)足你所有的需求,是人人可用的數據采集器。
  特征
  簡(jiǎn)單采集
  簡(jiǎn)單的采集模式內置了數百個(gè)主流的網(wǎng)站數據源,如京東、天貓、大眾點(diǎn)評等流行的采集網(wǎng)站,只需參考模板并簡(jiǎn)單地設置參數。您可以快速獲取網(wǎng)站公開(kāi)數據。
  智能防封
  優(yōu)采云采集 針對不同的網(wǎng)站,可以自定義組合瀏覽器識別(UA)、自動(dòng)代理IP、瀏覽器Cookie、驗證碼破解等功能,實(shí)現在廣大的突破大多數網(wǎng)站的反采集策略。
  云采集
  云采集支持5000多臺云服務(wù)器,7*24小時(shí)不間斷運行,可實(shí)現定時(shí)采集,無(wú)需人員值守,靈活適配業(yè)務(wù)場(chǎng)景,助您提升采集 效率,保證數據的及時(shí)性。
  API接口
  通過(guò)優(yōu)采云 API,您可以輕松獲取優(yōu)采云任務(wù)信息和采集接收到的數據,靈活調度任務(wù),如遠程控制任務(wù)啟停,高效實(shí)現數據&lt; @采集 和存檔?;趶姶蟮腁PI系統,還可以與公司內部各種管理平臺無(wú)縫對接,實(shí)現各種業(yè)務(wù)自動(dòng)化。
  自定義采集
  根據采集不同用戶(hù)的需求,優(yōu)采云可以提供自定義模式自動(dòng)生成爬蟲(chóng),可以批量準確識別各種網(wǎng)頁(yè)元素,以及翻頁(yè)、下拉、ajax 、頁(yè)面滾動(dòng)、條件判斷等多種功能,支持不同網(wǎng)頁(yè)結構的復雜網(wǎng)站采集,滿(mǎn)足多種采集應用場(chǎng)景。
  方便的定時(shí)功能
  只需簡(jiǎn)單的點(diǎn)擊幾下設置,即可實(shí)現采集任務(wù)的定時(shí)控制,無(wú)論是單個(gè)采集定時(shí)設置,還是預設日或周、月定時(shí)采集,您可以同時(shí)自由設置多個(gè)任務(wù),根據需要進(jìn)行多種選擇時(shí)間組合,靈活部署自己的采集任務(wù)。
  全自動(dòng)數據格式化
  優(yōu)采云內置強大的數據格式化引擎,支持字符串替換、正則表達式替換或匹配、去除空格、添加前綴或后綴、日期時(shí)間格式化、HTML轉碼等多項功能,采集全自動(dòng)處理過(guò)程中,無(wú)需人工干預,即可得到所需格式的數據。
  無(wú)限等級采集
  許多主流新聞和電商網(wǎng)站包括一級商品列表頁(yè)、二級商品詳情頁(yè)、三級評論詳情頁(yè);無(wú)論網(wǎng)站有多少層,優(yōu)采云都可以擁有無(wú)??限層的采集數據,滿(mǎn)足各種業(yè)務(wù)采集的需求。 查看全部

  自動(dòng)采集編寫(xiě)(智能防封優(yōu)采云采集可輕松采集10億數據無(wú)錯漏)
  優(yōu)采云采集器是一個(gè)智能、實(shí)用、穩定、高效的專(zhuān)業(yè)云采集服務(wù)平臺,優(yōu)采云采集器無(wú)需編寫(xiě)代碼,即可采集任何網(wǎng)站,0基礎30秒上手,1分鐘搞定數據。如果你不懂網(wǎng)絡(luò )爬蟲(chóng)技術(shù),你可以輕松采集數據日均采集10億條數據,沒(méi)有錯誤或遺漏。
  軟件說(shuō)明
  優(yōu)采云內置采集登錄模塊,只需配置目標網(wǎng)站的賬號和密碼,即可使用該模塊對采集進(jìn)行登錄數據;同時(shí)優(yōu)采云還自帶采集Cookie的自定義功能,首次登錄后可以自動(dòng)記住cookie,免去輸入多個(gè)密碼的繁瑣,支持更多網(wǎng)站 采集。優(yōu)采云操作簡(jiǎn)單,功能強大,滿(mǎn)足你所有的需求,是人人可用的數據采集器。
  特征
  簡(jiǎn)單采集
  簡(jiǎn)單的采集模式內置了數百個(gè)主流的網(wǎng)站數據源,如京東、天貓、大眾點(diǎn)評等流行的采集網(wǎng)站,只需參考模板并簡(jiǎn)單地設置參數。您可以快速獲取網(wǎng)站公開(kāi)數據。
  智能防封
  優(yōu)采云采集 針對不同的網(wǎng)站,可以自定義組合瀏覽器識別(UA)、自動(dòng)代理IP、瀏覽器Cookie、驗證碼破解等功能,實(shí)現在廣大的突破大多數網(wǎng)站的反采集策略。
  云采集
  云采集支持5000多臺云服務(wù)器,7*24小時(shí)不間斷運行,可實(shí)現定時(shí)采集,無(wú)需人員值守,靈活適配業(yè)務(wù)場(chǎng)景,助您提升采集 效率,保證數據的及時(shí)性。
  API接口
  通過(guò)優(yōu)采云 API,您可以輕松獲取優(yōu)采云任務(wù)信息和采集接收到的數據,靈活調度任務(wù),如遠程控制任務(wù)啟停,高效實(shí)現數據&lt; @采集 和存檔?;趶姶蟮腁PI系統,還可以與公司內部各種管理平臺無(wú)縫對接,實(shí)現各種業(yè)務(wù)自動(dòng)化。
  自定義采集
  根據采集不同用戶(hù)的需求,優(yōu)采云可以提供自定義模式自動(dòng)生成爬蟲(chóng),可以批量準確識別各種網(wǎng)頁(yè)元素,以及翻頁(yè)、下拉、ajax 、頁(yè)面滾動(dòng)、條件判斷等多種功能,支持不同網(wǎng)頁(yè)結構的復雜網(wǎng)站采集,滿(mǎn)足多種采集應用場(chǎng)景。
  方便的定時(shí)功能
  只需簡(jiǎn)單的點(diǎn)擊幾下設置,即可實(shí)現采集任務(wù)的定時(shí)控制,無(wú)論是單個(gè)采集定時(shí)設置,還是預設日或周、月定時(shí)采集,您可以同時(shí)自由設置多個(gè)任務(wù),根據需要進(jìn)行多種選擇時(shí)間組合,靈活部署自己的采集任務(wù)。
  全自動(dòng)數據格式化
  優(yōu)采云內置強大的數據格式化引擎,支持字符串替換、正則表達式替換或匹配、去除空格、添加前綴或后綴、日期時(shí)間格式化、HTML轉碼等多項功能,采集全自動(dòng)處理過(guò)程中,無(wú)需人工干預,即可得到所需格式的數據。
  無(wú)限等級采集
  許多主流新聞和電商網(wǎng)站包括一級商品列表頁(yè)、二級商品詳情頁(yè)、三級評論詳情頁(yè);無(wú)論網(wǎng)站有多少層,優(yōu)采云都可以擁有無(wú)??限層的采集數據,滿(mǎn)足各種業(yè)務(wù)采集的需求。

自動(dòng)采集編寫(xiě)(如何利用C#Winform和Python解決網(wǎng)站采集敏感信息的問(wèn)題)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 307 次瀏覽 ? 2022-01-05 12:28 ? 來(lái)自相關(guān)話(huà)題

  自動(dòng)采集編寫(xiě)(如何利用C#Winform和Python解決網(wǎng)站采集敏感信息的問(wèn)題)
  過(guò)去我對爬蟲(chóng)的研究不多。最近需要從一些網(wǎng)站采集那里獲取一些敏感信息,經(jīng)過(guò)一番考慮,我決定使用C#Winform和Python來(lái)解決這個(gè)事件。
  整個(gè)解決方案并不復雜:C#寫(xiě)WinForm表單,進(jìn)行數據分析和采集,Python本來(lái)不想用的,但是沒(méi)找到C#下Woff字體轉Xml的解決方案,但是網(wǎng)上Python程序很多,所以就加了一個(gè)Python項目,雖然只有一個(gè)腳本。
  
  一、幾個(gè)步驟:
  首先,您必須模擬登錄。登錄后輸入簡(jiǎn)歷采集,然后模擬下載。下載后,可以看到求職者的電話(huà)號碼。
  這個(gè)電話(huà)號碼使用的是動(dòng)態(tài)生成的Base64字體,因此無(wú)法直接提取文本。
  1、 先將Base64轉Woff字體,這個(gè)可以用C#來(lái)做(iso-8859-1編碼是坑,一般用Default會(huì )帶來(lái)驚喜):
   SetMainStatus("正在生成WOFF...");
byte[] fontBytes = Convert.FromBase64String(CurFont);
string fontStr = Encoding.GetEncoding("iso-8859-1").GetString(fontBytes).TrimEnd('\0');
StreamWriter sw2 = new StreamWriter(@"R58.woff", false, Encoding.GetEncoding("iso-8859-1"));
sw2.Write(fontStr);
sw2.Close();
  2、 然后將生成的Woff轉換成XML(WoffDec.exe是我用Python打包的Exe。其實(shí)我大驚小怪的,為了這個(gè)轉換,我寫(xiě)了一個(gè)包。如果有時(shí)間,那就更好了使用 C#。)
   //調用python exe 生成xml文件
ProcessStartInfo info = new ProcessStartInfo
{
FileName = "WoffDec.exe",
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(info).WaitForExit(2000);//在2秒內等待返回
  整個(gè) WoffDec.py 代碼為 3 行:
  from fontTools.ttLib import TTFont
font = TTFont('R12.woff')
font.saveXML('R12.xml')
  這個(gè)包裝有點(diǎn)意思。我先嘗試了py2exe,但沒(méi)有成功。我改為 pyinstaller 并且它起作用了。連EXE都有11M,不算大。
  下載,或者在VS2017 Python環(huán)境中搜索PyInstaller直接安裝。
  右鍵單擊并使用“在此處打開(kāi)命令提示符”;輸入pyinstaller /path/to/yourscript.py 打包成exe文件。調用 Winform 應用程序時(shí),應復制整個(gè)文件夾。
  3、得到xml文件后,準備根據上面的Woff文件存儲為數據字典(這個(gè)地方有點(diǎn)繞,先找個(gè)網(wǎng)站把Woff顯示為文本和代碼,然后根據代碼在XML中找到它的字體錨點(diǎn),我取X和Y形成一個(gè)唯一值(X,Y代表一個(gè)詞),當然你可以取更多;
   internal static readonly Dictionary DicChar = new Dictionary()
{
{"91,744","0" },
{"570,0","1"},
{"853,1143","2" },
{"143,259","3" },
。。。。。。
};
  4、 以上步驟需要一些時(shí)間?;鶞首值淇捎煤?,您可以根據每次生成的 XML 文件匹配真實(shí)文本。
  5、找回真文很簡(jiǎn)單,直接去數據庫采集,然后連接短信發(fā)送服務(wù),就可以自動(dòng)分組發(fā)送了。
  二、使用場(chǎng)景
  下班后啟動(dòng)采集服務(wù)時(shí)就不用擔心了。系統會(huì )定時(shí)自動(dòng)下載簡(jiǎn)歷,自動(dòng)推送面試邀請短信。只要有新人發(fā)布相應的求職信息,系統就會(huì )立即向他發(fā)出邀請,真是搶人的利器。
  BTW:用于網(wǎng)頁(yè)模擬操作的CEFSharp將開(kāi)啟新的篇章。 查看全部

  自動(dòng)采集編寫(xiě)(如何利用C#Winform和Python解決網(wǎng)站采集敏感信息的問(wèn)題)
  過(guò)去我對爬蟲(chóng)的研究不多。最近需要從一些網(wǎng)站采集那里獲取一些敏感信息,經(jīng)過(guò)一番考慮,我決定使用C#Winform和Python來(lái)解決這個(gè)事件。
  整個(gè)解決方案并不復雜:C#寫(xiě)WinForm表單,進(jìn)行數據分析和采集,Python本來(lái)不想用的,但是沒(méi)找到C#下Woff字體轉Xml的解決方案,但是網(wǎng)上Python程序很多,所以就加了一個(gè)Python項目,雖然只有一個(gè)腳本。
  
  一、幾個(gè)步驟:
  首先,您必須模擬登錄。登錄后輸入簡(jiǎn)歷采集,然后模擬下載。下載后,可以看到求職者的電話(huà)號碼。
  這個(gè)電話(huà)號碼使用的是動(dòng)態(tài)生成的Base64字體,因此無(wú)法直接提取文本。
  1、 先將Base64轉Woff字體,這個(gè)可以用C#來(lái)做(iso-8859-1編碼是坑,一般用Default會(huì )帶來(lái)驚喜):
   SetMainStatus("正在生成WOFF...");
byte[] fontBytes = Convert.FromBase64String(CurFont);
string fontStr = Encoding.GetEncoding("iso-8859-1").GetString(fontBytes).TrimEnd('\0');
StreamWriter sw2 = new StreamWriter(@"R58.woff", false, Encoding.GetEncoding("iso-8859-1"));
sw2.Write(fontStr);
sw2.Close();
  2、 然后將生成的Woff轉換成XML(WoffDec.exe是我用Python打包的Exe。其實(shí)我大驚小怪的,為了這個(gè)轉換,我寫(xiě)了一個(gè)包。如果有時(shí)間,那就更好了使用 C#。)
   //調用python exe 生成xml文件
ProcessStartInfo info = new ProcessStartInfo
{
FileName = "WoffDec.exe",
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(info).WaitForExit(2000);//在2秒內等待返回
  整個(gè) WoffDec.py 代碼為 3 行:
  from fontTools.ttLib import TTFont
font = TTFont('R12.woff')
font.saveXML('R12.xml')
  這個(gè)包裝有點(diǎn)意思。我先嘗試了py2exe,但沒(méi)有成功。我改為 pyinstaller 并且它起作用了。連EXE都有11M,不算大。
  下載,或者在VS2017 Python環(huán)境中搜索PyInstaller直接安裝。
  右鍵單擊并使用“在此處打開(kāi)命令提示符”;輸入pyinstaller /path/to/yourscript.py 打包成exe文件。調用 Winform 應用程序時(shí),應復制整個(gè)文件夾。
  3、得到xml文件后,準備根據上面的Woff文件存儲為數據字典(這個(gè)地方有點(diǎn)繞,先找個(gè)網(wǎng)站把Woff顯示為文本和代碼,然后根據代碼在XML中找到它的字體錨點(diǎn),我取X和Y形成一個(gè)唯一值(X,Y代表一個(gè)詞),當然你可以取更多;
   internal static readonly Dictionary DicChar = new Dictionary()
{
{"91,744","0" },
{"570,0","1"},
{"853,1143","2" },
{"143,259","3" },
。。。。。。
};
  4、 以上步驟需要一些時(shí)間?;鶞首值淇捎煤?,您可以根據每次生成的 XML 文件匹配真實(shí)文本。
  5、找回真文很簡(jiǎn)單,直接去數據庫采集,然后連接短信發(fā)送服務(wù),就可以自動(dòng)分組發(fā)送了。
  二、使用場(chǎng)景
  下班后啟動(dòng)采集服務(wù)時(shí)就不用擔心了。系統會(huì )定時(shí)自動(dòng)下載簡(jiǎn)歷,自動(dòng)推送面試邀請短信。只要有新人發(fā)布相應的求職信息,系統就會(huì )立即向他發(fā)出邀請,真是搶人的利器。
  BTW:用于網(wǎng)頁(yè)模擬操作的CEFSharp將開(kāi)啟新的篇章。

官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久