TW201804340A - 腳本生成方法與裝置 - Google Patents
腳本生成方法與裝置 Download PDFInfo
- Publication number
- TW201804340A TW201804340A TW106119133A TW106119133A TW201804340A TW 201804340 A TW201804340 A TW 201804340A TW 106119133 A TW106119133 A TW 106119133A TW 106119133 A TW106119133 A TW 106119133A TW 201804340 A TW201804340 A TW 201804340A
- Authority
- TW
- Taiwan
- Prior art keywords
- webpage
- script
- content
- code
- determined
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申請公開了一種腳本生成方法與裝置,用於解決現有技術中利用網路爬蟲抓取網頁內容時,人工編寫抓取腳本效率較低的問題。該方法包括:確定用戶在顯示的網頁中選定的網頁內容;根據確定的網頁內容,確定顯示的網頁內容對應的網頁代碼;根據所述網頁代碼,生成抓取腳本。
Description
本申請關於電腦技術領域,尤其關於一種腳本生成方法與裝置。
在現有技術中,由於網路爬蟲可以抓取網頁中的文本內容,目前被廣泛的應用於搜索、資料採擷等領域中。網路爬蟲可以抓取網頁中的全部內容,也可以抓取網頁中的部分內容。
目前,若要利用網路爬蟲去抓取目標網頁中的目標內容,工作人員需先編寫抓取目標內容的腳本,網路爬蟲才能夠根據該腳本,抓取到目標內容。
例如,若現在想要利用網路爬蟲抓取如圖1中所示的網頁中的商品的價格資訊,即“價錢:$149.99”。那麼,工作人員便要透過瀏覽器訪問相應的網頁,然後在該網頁對應的網頁代碼中查找“價錢:$149.99”對應的網頁代碼,即“價錢:$149.99”對應的最小的文檔物件模型(Document Object Model,dom)樹。
在查找到“價錢:$149.99”對應的最小的dom樹後,獲取“價錢:$149.99”對應的超文字標記語言(HyperText Markup Language,HTML)屬性值資訊,比如id="kfs_family_16"、class="kfs-price"等。工作人員根據該些屬性值資訊,編寫出包含該些HTML屬性值資訊的抓取腳本。將編寫好的腳本以及該商品對應的網頁代碼一併送入解析引擎中,以使得解析引擎可以根據抓取腳本中的id以及class,查找到“價錢:$149.99”對應的最小的dom樹,並在該最小的dom樹中提取出“價錢:$149.99”這一
價格資訊。
雖然透過上述方法,網路爬蟲能夠抓取網頁中的內容,但是需要人工編寫抓取腳本,效率較低。
本申請實施例提供一種腳本生成方法與裝置,用於解決現有技術中利用網路爬蟲抓取網頁內容時,人工編寫抓取腳本效率較低的問題。
本申請實施例採用下述技術方案:一種腳本生成方法,包括:確定用戶在顯示的網頁中選定的網頁內容;根據確定的網頁內容,確定所述網頁內容對應的網頁代碼;根據所述網頁代碼,生成抓取腳本。
一種腳本生成裝置,包括:內容確定模組,確定用戶在顯示的網頁中選定的網頁內容;代碼確定模組,根據確定的網頁內容,確定所述網頁內容對應的網頁代碼;腳本生成模組,根據所述網頁代碼,生成抓取腳本。
本申請實施例採用的上述至少一個技術方案能夠達到以下有益效果:與現有技術中利用網路爬蟲抓取網頁內容時,需人工編寫抓取腳本相比,採用本申請實施例提供的腳本生成方
法,透過確定用戶在網頁中選定的網頁內容,確定出該網頁內容對應的網頁代碼,並根據該網頁代碼生成抓取腳本,從而解決了現有技術中利用網路爬蟲抓取網頁內容時,人工編寫抓取腳本效率較低的問題。
21‧‧‧顯示網頁
22‧‧‧確定用戶在顯示的網頁中選定的網頁內容
23‧‧‧根據確定的網頁內容,確定所述網頁內容對應的網頁代碼
24‧‧‧根據所述網頁代碼,生成抓取腳本
31‧‧‧內容確定模組
32‧‧‧代碼確定模組
33‧‧‧腳本生成模組
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用於解釋本申請,並不構成對本申請的不當限定。在附圖中:圖1為現有技術中的目標網頁中的內容;圖2a為本申請實施例提供的一種腳本生成方法的具體流程圖;圖2b為本申請實施例提供的確定HTML屬性值的頁面;圖2c為本申請實施例提供的詢問用戶抓取哪一種網頁內容的頁面;圖2d為本申請實施例提供的用戶框選網頁內容後顯示出的頁面;圖2e為本申請實施例提供的用戶兩次框選網頁內容後顯示出的頁面;圖3為本申請實施例提供的一種腳本生成裝置的具體結構示意圖。
為使本申請的目的、技術方案和優點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
以下結合附圖,詳細說明本申請實施例提供的技術方案。
為了解決了現有技術中利用網路爬蟲抓取網頁內容時,人工編寫抓取腳本效率較低的問題,本申請實施例提供一種腳本生成方法。
該方法的執行主體,可以但不限於為手機、平板電腦或個人電腦(Personal Computer,PC)等用戶終端,或者該些用戶終端上運行的應用(Application,APP),或者,還可以是伺服器等設備。
為便於描述,下文以該方法的執行主體為PC為例,對該方法的實施方式進行介紹。可以理解,該方法的執行主體為PC只是一種示例性的說明,並不應理解為對該方法的限定。
該方法的具體流程示意圖如圖2a所示,包括下述步驟:
步驟21,顯示網頁。
在本申請實施例中,當用戶想要利用網路爬蟲抓取網
頁中的網頁內容時,可以通過PC中安裝的瀏覽器或者其他具有瀏覽器功能的應用訪問該網址,以使得該PC可以顯示出該網頁,便於後續操作。後續以瀏覽器為例進行說明。
具體的,用戶可以在瀏覽器中的網址輸入框中輸入網址,並訪問該網址,該PC便顯示出該網址對應的網頁。
步驟22,確定用戶在顯示的網頁中選定的網頁內容。
在PC顯示出網頁後,用戶可以根據實際需求,在該網頁中選定想要抓取的網頁內容,以使得瀏覽器可以確定用戶在網頁中選定的網頁內容,進而進行後續操作,最終生成抓取腳本。
用戶之所以可以在網頁中選定網頁內容,是因為網頁的網頁代碼中存在第一腳本。該第一腳本用於提供在網頁中選定網頁內容的功能。第一腳本包括層疊樣式表(Cascading Style Sheets,CSS)腳本。一般情況下,第一腳本位於網頁的網頁代碼中的頂部或底部。這是因為若將第一腳本嵌入到網頁的網頁代碼的中間位置,在瀏覽器執行後續操作時,有可能會誤將該第一腳本作為網頁的網頁代碼的一部分,進而影響最終抓取腳本的生成。因此,一般將第一腳本嵌入在網頁代碼的頂部或底部。
在實際應用中,網頁的網頁代碼中存在第一腳本,有可能是因為用戶在通過瀏覽器訪問網址後,伺服器返回的網頁的網頁代碼中已經存在第一腳本了,也有可能是因為
在確定用戶在所述網頁中選定的網頁內容之前,瀏覽器將預設的第一腳本嵌入到了伺服器返回的網頁代碼中。
若在通過瀏覽器訪問網址後,伺服器返回的網頁的網頁代碼中已經存在第一腳本了,這有可能是伺服器在接收到瀏覽器發送的獲取網頁的網頁代碼請求後,便將預設的第一腳本嵌入了網頁的網頁代碼中,然後再將該網頁代碼發送給瀏覽器;也有可能是瀏覽器的開發人員事先與網頁的開發人員協商好,網頁的開發人員在編寫該網頁的網頁代碼時,便將第一腳本嵌入了該網頁代碼中。於是,伺服器返回的網頁代碼中存在第一腳本。其中,第一腳本並不會影響瀏覽器對網頁的渲染。
步驟23,根據確定的網頁內容,確定所述網頁內容對應的網頁代碼。
在執行完畢步驟12後,瀏覽器可以根據透過執行步驟12確定的網頁內容,確定所述網頁內容對應的網頁代碼。
這是因為在瀏覽器根據通過執行步驟12確定的網頁內容,確定所述網頁內容對應的網頁代碼之前,瀏覽器便將預設的第二腳本嵌入到了網頁的網頁代碼中,以使得該瀏覽器可以根據目標內容,透過第二腳本,確定目標內容對應的網頁代碼。其中,第二腳本包括Javascript(JS)腳本。
或者,用戶在瀏覽器中訪問網頁對應的網址後,伺服器返回的網頁代碼中便存在第二腳本。這樣,瀏覽器便可
以根據網頁內容,透過第二腳本,確定該網頁內容對應的網頁代碼。其中,伺服器返回的網頁代碼中存在第二腳本的原因可能是伺服器在接收到瀏覽器發送的獲取網頁的網頁代碼請求後,便將預設的第二腳本嵌入了網頁的網頁代碼中,然後再將該網頁代碼發送給瀏覽器;也有可能是瀏覽器的開發人員事先與網頁的開發人員協商好,網頁的開發人員在編寫該網頁的網頁代碼時,便將第二腳本嵌入了該網頁代碼中。於是,伺服器返回的網頁代碼中存在第二腳本。其中,第二腳本並不會影響瀏覽器對網頁的渲染。
那麼,瀏覽器根據通過執行步驟12確定的網頁內容,透過第二腳本,確定該網頁內容對應的網頁代碼的具體實施方式可以如下所述:
瀏覽器根據通過執行步驟12確定的網頁內容,透過第二腳本,在網頁的網頁代碼中,確定出該網頁內容對應的最小dom樹,然後在該最小的dom樹中,確定出該網頁內容對應的HTML屬性值。
由於瀏覽器在根據網頁代碼渲染網頁時,可以建立網頁內容與網頁代碼的映射關係,或者建立網頁中的網頁內容所在的座標點與網頁代碼之間的映射關係。因此,瀏覽器可以根據上述映射關係,根據透過執行步驟12確定的網頁內容,確定出該網頁內容對應的網頁代碼,即該網頁內容對應的最小dom樹。若透過執行步驟12確定的網頁內容對應著一個最小的dom樹,那在該最小的dom樹中,確定出透過執行步驟12確定的網頁內容對應的
HTML屬性值。其中,HTML屬性值可以為class,也可以為id和class。具體的,在瀏覽器確定HTML屬性值之前,瀏覽器可以在該瀏覽器所在PC的螢幕中顯示出一個詢問頁面,用以詢問用戶確定最小的dom樹中的id和class,還是確定最小的dom樹中的class。例如,如圖2b所示的頁面,該頁面中包括確定id和class的控制項,以及確定class的控制項。若用戶點擊確定id和class的控制項,則瀏覽器確定id和class,若用戶點擊確定class的控制項,則瀏覽器確定class。
若透過執行步驟12確定的網頁內容對應著至少兩個最小的dom樹,那在該些最小的dom樹中,分別確定出透過執行步驟12確定的網頁內容對應的HTML屬性值。在確定HTML屬性值之前,瀏覽器可以在該瀏覽器所在的PC的螢幕中顯示出如圖2b所示的詢問頁面,用以詢問用戶確定每一個最小的dom樹中的id和class,還是確定每一個最小的dom樹中的class。用戶便可根據實際需要,確定點擊哪一個控制項,從而使得瀏覽器根據用戶的選擇,確定相應的HTML屬性值。
在確定出上述HTML屬性值之後,便可執行步驟14,最終生成抓取腳本。
步驟24,根據所述網頁代碼,生成抓取腳本。
在執行完畢步驟13後,瀏覽器便可將確定出的想要抓取的網頁內容對應的網頁代碼中的HTML屬性值添加到預設的腳本生成範本中,生成抓取腳本。其中,該抓取腳
本用於抓取與HTML屬性值相匹配的網頁內容。
其中,若瀏覽器確定出的HTML屬性值為id和class,那麼瀏覽器便可以分別將確定出的每一個dom中的id和class以{id=XXX,class=XXX}這種組合形式添加到預設的腳本生成範本中,生成抓取腳本。若瀏覽器確定出的HTML屬性值為class,那麼瀏覽器便可以分別將確定出的每一個dom中的class以{class=XXX}這種組合形式添加到預設的腳本生成範本中,生成抓取腳本。
其中,瀏覽器在生成抓取腳本後,可以將該抓取腳本保存在本地。另外,瀏覽器還可以將與透過執行步驟12確定出的網頁內容對應的最小的dom樹以及全部網頁代碼保存在本地,以使得瀏覽器可以在後續操作中可以運用上述抓取腳本、最小的dom樹以及網頁代碼,抓取網頁內容。
在生成抓取腳本後,瀏覽器可以在該瀏覽器所在的PC中彈出一個頁面,用以告知用戶抓取腳本已經生成,並詢問用戶是否抓取網頁內容。
例如,該頁面可以如圖2c所示。該頁面中包括第一抓取控制項和第二抓取控制項。若用戶點擊第一抓取控制項,瀏覽器便將抓取腳本以及透過執行步驟12確定出的網頁內容對應的最小的dom樹,發送給解析引擎。若抓取腳本中包含id和class,解析引擎根據id找到該id所在的最小的dom樹,再根據與該id存在於同一個組合中的class,提取出最小的dom樹中的用戶想要抓取的網頁
內容。例如,若確定出的用戶想要抓取如圖1所示的網頁中的“價錢:$149.99對應的最小的dom樹為:
抓取“價錢:$149.99”的抓取腳本中包含id="kfs_family_16",以及“價錢:$149.99”對應的class="kfs-price"。
那麼,用戶點擊第一抓取控制項,瀏覽器便可將上述最小的dom樹以及抓取腳本一併發送給解析引擎,解析引擎便可根據id="kfs_family_16"找到該id所在的最小的dom樹,再根據class="kfs-price"從該dom樹中提取出“價錢:$149.99”這一價格資訊。
若抓取腳本中不包含id,只包含class,瀏覽器根據
class便可提取出發送到解析引擎中的所有的最小的dom樹中的與class相匹配的網頁內容。
當用戶點擊第二抓取控制項後,瀏覽器便將抓取腳本與網頁的網頁代碼發送給解析引擎。若抓取腳本中包含id和class,解析引擎根據id找到該id所在的最小的dom樹,再根據與該id存在於同一個組合中的class,提取出最小的dom樹中的用戶想要抓取的網頁內容。
若抓取腳本中不包含id,只包含class,瀏覽器根據class便可提取出網頁的網頁代碼中的與class相匹配的網頁內容。
需要說明的是,本申請實施例所提供方法的各步驟的執行主體可以相同,也可以不同。例如,在瀏覽器執行完畢步驟13後,瀏覽器可以將確定出的網頁代碼以及HTML屬性值發送給伺服器,以使得伺服器根據所述網頁代碼,生成抓取腳本。另外,上述只是以PC中安裝的瀏覽器為例的一種示例性說明,本申請實施例的執行主體除了可以是PC中安裝的瀏覽器之外,也可以是PC中安裝的其他具有瀏覽器功能的應用,還可以是移動終端中的具有瀏覽器功能的APP,本申請對此不進行任何限定。
在本申請實施例中,瀏覽器在執行步驟12時,具體的,在一種實施方式中,用戶一旦開始在網頁中進行框選,瀏覽器便可以開始確認用戶框選的網頁內容。或者,在用戶框選結束後,被框選的目標內容被矩形方框框住,且該網頁中會顯示出繼續框選、提交和取消的控制項。其
中,被矩形方框框住的目標內容,可以以高亮的顯示方式顯示,也可以以該網頁被顯示出來時該目標內容的最初顯示方式顯示,這可以根據用戶需求進行設置,本申請實施例對此不進行任何限定。例如,如圖2d所示,圖2d中顯示的頁面便為用戶框選想要抓取的某一購物網站中的某一商品的價格資訊後所顯示出的頁面。該頁面中的價格資訊被一個矩形方框框住,且在價格資訊的右側分別顯示出繼續框選、提交和取消的控制項。其中,被框住的價格資訊並未高亮顯示,而是以最初顯示狀態顯示。
在網頁中出現繼續框選、提交和取消的控制項後,若用戶想要繼續框選其他的內容,便可點擊繼續框選控制項,繼續框選其他內容。若用戶不再想框選其他內容,便可點擊提交控制項,瀏覽器便將用戶框選的網頁內容確定為目標內容。若用戶想取消之前框選的內容,框選其他的內容,那麼點擊取消控制項,便可重新框選。
另外,本申請實施例提供的腳本生成方法中,用戶在網頁中選擇想要抓取的網頁內容時,可以先進行一次粗略選擇,瀏覽器可以根據用戶第一次選擇的網頁內容確定出該網頁內容對應的最小的dom。然後,用戶再在第一次選擇的網頁內容的基礎上進行第二次選擇,瀏覽器便可以在確定出的最小的dom中確定出第二次選擇的網頁內容對應的網頁代碼中的HTML屬性值。比如,如圖2e所示,若用戶想要抓取網頁中的“¥175”的價格資訊,在第一次選定時,用戶可以粗略的將包含“¥175”這一價格資訊的
網頁內容一併進行選擇,瀏覽器便可根據該第一次選擇的內容,確定出該些網頁內容對應的最小的dom樹。在用戶在第二次選擇時,可以只選擇“¥175”,那麼瀏覽器便可以在該最小的dom樹確定出“¥175”對應的HTML屬性值。圖2e中有兩個矩形方框,其中,較大的矩形方框中的所有內容為用戶第一次選擇的內容,較小的矩形方框中的網頁內容為用戶第二次選擇的內容。
在本申請實施例中,還可通過一種腳本生成裝置,來實現本申請實施例中提供的腳本生成方法。
如圖3所示,為本申請實施例提供的一種腳本生成裝置的結構示意圖,主要包括下述裝置:內容確定模組31,確定用戶在顯示的網頁中選定的網頁內容。
代碼確定模組32,根據確定的網頁內容,確定所述網頁內容對應的網頁代碼。
腳本生成模組33,根據所述網頁代碼,生成抓取腳本。
在一種實施方式中,所述裝置還包括:第一嵌入模組,在內容確定模組31確定用戶在顯示的網頁中選定的網頁內容之前,將預設的第一腳本嵌入到所述網頁的網頁代碼中。其中,所述第一腳本用於提供在所述網頁中選定網頁內容的功能,所述第一腳本包括層疊樣式表CSS腳本。
在一種實施方式中,所述裝置還包括:
第二嵌入模組,在代碼確定模組32根據確定的網頁內容,確定所述網頁內容對應的網頁代碼之前,將預設的第二腳本嵌入到所述網頁的網頁代碼中,所述第二腳本包括JS腳本。
則代碼確定模組32,根據確定的網頁內容,通過所述第二腳本,確定所述網頁內容對應的網頁代碼。
在一種實施方式中,代碼確定模組32,在所述網頁的網頁代碼中,確定所述網頁內容對應的最小的文檔物件模型dom樹;在所述最小的dom樹中,確定所述網頁內容對應的超文字標記語言HTML屬性值。
在一種實施方式中,腳本生成模組33,將確定出的所述HTML屬性值添加到預設的腳本生成範本中,生成抓取腳本,所述抓取腳本用於抓取與所述HTML屬性值相匹配的網頁內容。
在一種實施方式中,所述裝置還包括:內容解析模組,將所述抓取腳本以及網頁代碼發送給解析引擎,透過解析引擎,抓取相應的網頁內容。
與現有技術中利用網路爬蟲抓取網頁內容時,需人工編寫抓取腳本相比,採用本申請實施例提供的腳本生成方法,透過確定用戶在網頁中選定的網頁內容,確定出該網頁內容對應的網頁代碼,並根據該網頁代碼生成抓取腳本,從而解決了現有技術中利用網路爬蟲抓取網頁內容時,人工編寫抓取腳本效率較低的問題。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得透過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執
行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本申請的實施例可提供為方法、系統或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
以上所述僅為本申請的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
Claims (12)
- 一種腳本生成方法,其特徵在於,所述方法包括:確定用戶在顯示的網頁中選定的網頁內容;根據確定的網頁內容,確定該網頁內容對應的網頁代碼;根據該網頁代碼,生成抓取腳本。
- 如申請專利範圍第1項所述的方法,其中,確定用戶在顯示的網頁中選定的網頁內容之前,該方法還包括:將預設的第一腳本嵌入到該網頁的網頁代碼中;其中,該第一腳本用於提供在該網頁中選定網頁內容的功能,該第一腳本包括層疊樣式表CSS腳本。
- 如申請專利範圍第1項所述的方法,其中,根據確定的網頁內容,確定該網頁內容對應的網頁代碼之前,該方法還包括:將預設的第二腳本嵌入到該網頁的網頁代碼中,該第二腳本包括JS腳本;根據確定的網頁內容,確定該網頁內容對應的網頁代碼,具體包括:根據確定的網頁內容,通過該第二腳本,確定該網頁內容對應的網頁代碼。
- 如申請專利範圍第1項所述的方法,其中,確定該網頁內容對應的網頁代碼,具體包括:在該網頁的網頁代碼中,確定該網頁內容對應的最小的文檔物件模型dom樹;在所述最小的dom樹中,確定該網頁內容對應的超文字標記語言HTML屬性值。
- 如申請專利範圍第4項所述的方法,其中,根據該網頁代碼,生成腳本,具體包括:將確定出的該HTML屬性值添加到預設的腳本生成範本中,生成抓取腳本,該抓取腳本用於抓取與所述HTML屬性值相匹配的網頁內容。
- 如申請專利範圍第5項所述的方法,其中,該方法還包括:將該抓取腳本以及網頁代碼發送給解析引擎,透過解析引擎,抓取相應的網頁內容。
- 一種腳本生成裝置,其特徵在於,該裝置包括:內容確定模組,確定用戶在顯示的網頁中選定的網頁內容;代碼確定模組,根據確定的網頁內容,確定該網頁內容對應的網頁代碼;腳本生成模組,根據該網頁代碼,生成抓取腳本。
- 如申請專利範圍第7項所述的裝置,其中,該裝置還包括:第一嵌入模組,在內容確定模組確定用戶在顯示的網頁中選定的網頁內容之前,將預設的第一腳本嵌入到該網頁的網頁代碼中;其中,該第一腳本用於提供在該網頁中選定網頁內容的功能,該第一腳本包括層疊樣式表CSS腳本。
- 如申請專利範圍第7項所述的裝置,其中,該裝置還包括:第二嵌入模組,在代碼確定模組根據確定的網頁內容,確定該網頁內容對應的網頁代碼之前,將預設的第二腳本嵌入到該網頁的網頁代碼中,該第二腳本包括JS腳本;則代碼確定模組,根據確定的網頁內容,透過該第二腳本,確定該網頁內容對應的網頁代碼。
- 如申請專利範圍第7項所述的裝置,其中,代碼確定模組,在該網頁的網頁代碼中,確定該網頁內容對應的最小的文檔物件模型dom樹;在該最小的dom樹中,確定該網頁內容對應的超文字標記語言HTML屬性值。
- 如申請專利範圍第10項所述的裝置,其中,腳本生成模組,將確定出的該HTML屬性值添加到預設的腳本生成範本中,生成抓取腳本,該抓取腳本用於抓取與該HTML屬性值相匹配的網頁內容。
- 如申請專利範圍第11項所述的裝置,其中,該裝置還包括:內容解析模組,將該抓取腳本以及網頁代碼發送給解析引擎,透過解析引擎,抓取相應的網頁內容。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610551151.5 | 2016-07-13 | ||
| CN201610551151.5A CN106886547A (zh) | 2016-07-13 | 2016-07-13 | 一种脚本生成方法与装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201804340A true TW201804340A (zh) | 2018-02-01 |
| TWI683225B TWI683225B (zh) | 2020-01-21 |
Family
ID=59176754
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106119133A TWI683225B (zh) | 2016-07-13 | 2017-06-08 | 腳本生成方法與裝置 |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN106886547A (zh) |
| TW (1) | TWI683225B (zh) |
| WO (1) | WO2018010573A1 (zh) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106886547A (zh) * | 2016-07-13 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种脚本生成方法与装置 |
| CN107689951A (zh) * | 2017-07-26 | 2018-02-13 | 上海壹账通金融科技有限公司 | 网页数据爬取方法、装置、用户终端及可读存储介质 |
| CN107609150A (zh) * | 2017-08-28 | 2018-01-19 | 湖北省楚天云有限公司 | 一种基于页面元素选取的交互式网络爬虫创建方法及系统 |
| CN110390043A (zh) * | 2019-06-17 | 2019-10-29 | 深圳壹账通智能科技有限公司 | 网页邮箱数据的爬取方法、装置、终端和存储介质 |
| CN111460259B (zh) * | 2020-03-31 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 一种同类元素确定方法、装置、计算机设备及存储介质 |
| CN113742550B (zh) * | 2021-08-20 | 2024-04-19 | 广州市易工品科技有限公司 | 基于浏览器的数据获取方法、装置和系统 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101894138B (zh) * | 2010-06-25 | 2012-11-07 | 优视科技有限公司 | 可视化页面内容订阅处理方法及系统 |
| EA201301239A1 (ru) * | 2013-10-28 | 2015-04-30 | Общество С Ограниченной Ответственностью "Параллелз" | Способ размещения сетевого сайта с использованием виртуального хостинга |
| CN105243159B (zh) * | 2015-10-28 | 2019-06-25 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
| CN105468730A (zh) * | 2015-11-20 | 2016-04-06 | 广州华多网络科技有限公司 | 一种网页信息提取方法及其设备 |
| CN106886547A (zh) * | 2016-07-13 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种脚本生成方法与装置 |
-
2016
- 2016-07-13 CN CN201610551151.5A patent/CN106886547A/zh active Pending
-
2017
- 2017-06-08 TW TW106119133A patent/TWI683225B/zh not_active IP Right Cessation
- 2017-07-04 WO PCT/CN2017/091674 patent/WO2018010573A1/zh not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2018010573A1 (zh) | 2018-01-18 |
| CN106886547A (zh) | 2017-06-23 |
| TWI683225B (zh) | 2020-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI683225B (zh) | 腳本生成方法與裝置 | |
| WO2021174928A1 (zh) | 页面预渲染方法、装置、电子设备及存储介质 | |
| US8726189B2 (en) | Multiple tab stack user interface | |
| CN110069683B (zh) | 一种基于浏览器爬取数据的方法及装置 | |
| WO2017124952A1 (zh) | 一种网页脚本加载方法和装置 | |
| WO2015043383A1 (zh) | 一种进行网页加载的方法、装置和浏览器 | |
| CN106484383A (zh) | 页面渲染方法、装置及设备 | |
| CN104133870B (zh) | 一种网页相似度计算方法及装置 | |
| TW201723897A (zh) | 資訊顯示方法、裝置及智能終端 | |
| US9038019B2 (en) | Paige control for enterprise mobile applications | |
| CN106033361A (zh) | 一种应用页面呈现、应用页面数据更新方法及装置 | |
| JP2017504129A (ja) | ウェブブラウザにおいて表わされる状態表現の構築 | |
| CN103530329A (zh) | 一种进行网页加载的方法、装置和浏览器 | |
| US20240179224A1 (en) | Systems and methods for rendering interactive web pages | |
| CN105260424A (zh) | 用户浏览网页历史记录和最常访问的处理方法及装置 | |
| WO2016050124A1 (zh) | 网页转码方法、装置以及服务器 | |
| CN118535785A (zh) | 网页数据抓取方法、装置、存储介质及电子设备 | |
| CN103605449A (zh) | 静态页面的交互方法及装置 | |
| WO2019000894A1 (zh) | 一种生成文章大纲的方法和装置 | |
| CN104899217A (zh) | 一种自定义功能的实现方法及装置 | |
| CN103544271A (zh) | 一种浏览器中加载图片处理窗口的方法和装置 | |
| US11151216B2 (en) | Caching of a site model in a hierarchical modeling system for network sites | |
| CN110147477A (zh) | Web系统的数据资源模型化提取方法、装置以及设备 | |
| CN110708270B (zh) | 异常链接检测方法以及装置 | |
| CN112632436A (zh) | 一种网页显示方法、装置、电子设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |

