Hawk教程- 快速教程

快速教程

本文給不想看詳細(xì)教程的同學(xué)使用娱节,仔細(xì)閱讀,可以讓你戰(zhàn)斗力爆棚:

1.界面和交互

1.1.主工作區(qū)

啟動(dòng)后屎媳,在歡迎頁(yè)面有三個(gè)tab頁(yè): 新建任務(wù)轴或,任務(wù)市場(chǎng)和參數(shù)設(shè)置。歡迎頁(yè)面非常重要互墓,能夠新建任務(wù)桑嘶,或者瀏覽相關(guān)文檔和幫助。

front.gif
  1. 新建任務(wù):雙擊圖標(biāo)即可新建和加載已有任務(wù)
  2. 點(diǎn)擊tab菜單【文件】可加載册着,保存任務(wù)拴孤,任務(wù)為xml文件。
  3. 下側(cè)是【數(shù)據(jù)管理】甲捏,空白處右鍵可新建連接演熟,連接名上右鍵可配置,支持本地文件(xls,txt,json)摊鸡,數(shù)據(jù)庫(kù)(mongodb,sqlite)绽媒。數(shù)據(jù)庫(kù)需要連接后才能使用蚕冬,可勾選【自動(dòng)連接】.

1.2.狀態(tài)區(qū)

在Hawk主界面右側(cè)是當(dāng)前的狀態(tài)免猾,包括三個(gè)區(qū)域:

  • 已加載任務(wù)
  • 數(shù)據(jù)管理:可顯示生成的或從文件中導(dǎo)出的表
  • 工作線程視圖:正在執(zhí)行的任務(wù)都會(huì)顯示在這里
  1. 軟件右下角對(duì)應(yīng)的是【系統(tǒng)狀態(tài)視圖】,左右側(cè)分別是已加載的任務(wù)和數(shù)據(jù)集囤热。
    左鍵查看猎提,右鍵配置,空白處右鍵批量管理。 下面的圖標(biāo)可用于刪除锨苏,拷貝疙教,保存等功能,把任務(wù)或數(shù)據(jù)集拖到圖標(biāo)上試試伞租!
  2. 【網(wǎng)頁(yè)采集器】用于配置單個(gè)網(wǎng)頁(yè)的抓取規(guī)則贞谓,【數(shù)據(jù)清洗】用于打造清洗流程,并調(diào)用前者葵诈。 復(fù)雜任務(wù)會(huì)創(chuàng)建多個(gè)清洗并互相調(diào)用裸弦。

2.網(wǎng)頁(yè)采集器

網(wǎng)頁(yè)采集器 模擬了瀏覽器的設(shè)計(jì),填入網(wǎng)址作喘,點(diǎn)擊刷新理疙,即可獲取對(duì)應(yīng)地址的html源碼。

認(rèn)識(shí)到網(wǎng)頁(yè)是一棵樹(shù)(DOM)后泞坦,每個(gè)XPath對(duì)應(yīng)一個(gè)屬性窖贤,即可從網(wǎng)頁(yè)上獲取單個(gè)或多個(gè)文檔。網(wǎng)頁(yè)采集器的目的就是更快地通過(guò)手工或自動(dòng)配置找到最優(yōu)XPath贰锁。

2.1.工作模式

使用采集器赃梧,首先要按照抓取的目標(biāo),選擇合適的工作模式:

  • 多文檔: 會(huì)輸出多份文檔豌熄,通常在網(wǎng)頁(yè)的列表頁(yè)中使用槽奕, 如二手房的列表頁(yè)面,新聞的列表頁(yè)
  • 單文檔: 輸出單份文檔房轿,一般在網(wǎng)頁(yè)的詳情頁(yè)中使用粤攒,如京東的訂單頁(yè),新聞
  • 不進(jìn)行轉(zhuǎn)換: 直接輸出網(wǎng)頁(yè)源代碼囱持,放置于Content列中

注意:

  • 一個(gè)復(fù)雜的頁(yè)面可能包含多個(gè)列表和詳情夯接,因此模式的選擇主要取決于要抓取的數(shù)據(jù)是什么
  • 當(dāng)在 多文檔或 單文檔模式,且屬性數(shù)量為0時(shí)纷妆,也和 不進(jìn)行轉(zhuǎn)換行為一致

2.2.基本操作

  • 左側(cè)的區(qū)域盔几,顯示了html源碼和瀏覽器視圖(但不能執(zhí)行js),可通過(guò)上側(cè)tab頁(yè)切換掩幢。
  • 右側(cè)是配置區(qū)域逊拍,可對(duì)關(guān)鍵字進(jìn)行搜索,并對(duì)所有的屬性進(jìn)行管理际邻。
  • 點(diǎn)擊【提取測(cè)試】芯丧,可預(yù)覽檢查配置結(jié)果。

在多文檔模式下世曾,通常直接點(diǎn)擊右上角的手氣不錯(cuò)缨恒,在彈出的結(jié)果下選擇所需數(shù)據(jù),可配置其名稱和XPath。點(diǎn)擊確定即可配置完畢骗露。即可自動(dòng)獲取絕大多數(shù)網(wǎng)頁(yè)的目標(biāo)內(nèi)容岭佳。

[圖片上傳失敗...(image-39f458-1559958071956)]

可手工填入搜索字符,即可在網(wǎng)頁(yè)上快速定位元素和XPath萧锉,可在多個(gè)結(jié)果間快速切換珊随,找到所需數(shù)據(jù)后,輸入屬性名稱后手工添加屬性柿隙。

2.3.高級(jí)功能

  1. 點(diǎn)擊【Http請(qǐng)求詳情】玫恳,可修改網(wǎng)頁(yè)編碼,代理优俘,cookie和請(qǐng)求方式等京办,網(wǎng)頁(yè)出現(xiàn)亂碼可用
  2. 若希望自動(dòng)登錄,或獲取動(dòng)態(tài)頁(yè)面(ajax)的真實(shí)地址帆焕,填入搜索字符惭婿,點(diǎn)擊【自動(dòng)嗅探】,在彈出的瀏覽器中翻到對(duì)應(yīng)的關(guān)鍵字叶雹,Hawk就能自動(dòng)捕捉真實(shí)請(qǐng)求
  3. 超級(jí)模式下财饥,Hawk會(huì)將源碼中的js,html,json都轉(zhuǎn)成html,從而使用手氣不錯(cuò), 更通用但性能較差
  4. 填寫【共享源】折晦,本采集器同步共享源的【Http請(qǐng)求詳情】钥星,避免重復(fù)設(shè)置cookie代理等。
  5. 詳情頁(yè)(單文檔模式)也可以手氣不錯(cuò)(Hawk3新功能)满着,搜索所需字段谦炒,不需要添加到屬性列表,點(diǎn)擊手氣不錯(cuò)試試风喇!
  6. 網(wǎng)頁(yè)地址也可以是本地文件路徑宁改,如D:\target.html, 用其他方法保存網(wǎng)頁(yè)后,再通過(guò)Hawk分析網(wǎng)頁(yè)內(nèi)容

[圖片上傳失敗...(image-2f8a47-1559958071956)]

3.數(shù)據(jù)清洗

數(shù)據(jù)清洗可以通過(guò)組合多個(gè)不同的子模塊魂莫,生成多樣的功能还蹲,通過(guò)拖拽構(gòu)造出一個(gè)工作流,它能夠產(chǎn)生一個(gè)有限或無(wú)限的文檔序列耙考。比如下面:

image_1auq4oooc1m8m9tc02sjv1j4o9.png-71.6kB
etl.gif

3.1.基本操作

  • 左側(cè)是所有模塊列表谜喊,分為生成,轉(zhuǎn)換倦始,過(guò)濾和執(zhí)行四種類型斗遏,可通過(guò)名稱和拼音首字母快速檢索。順序組合可構(gòu)成復(fù)雜任務(wù)楣号。
  • 右側(cè)是數(shù)據(jù)預(yù)覽最易,可將左側(cè)選中的模塊拖入到右側(cè)對(duì)應(yīng)列上怒坯。 雙擊每個(gè)列上面的模塊對(duì)其配置炫狱。將鼠標(biāo)驮謇粒靠字段上可查看使用介紹
  • 預(yù)覽時(shí),處理是串行的视译,數(shù)據(jù)不會(huì)被寫入嬉荆,有緩存,調(diào)試所見(jiàn)即所得酷含。 只有在執(zhí)行模式下才會(huì)并行快速執(zhí)行鄙早。
  • 執(zhí)行器可看做帶有副作用(如寫入文件)的轉(zhuǎn)換器,只有在執(zhí)行時(shí)才會(huì)運(yùn)行
  • 生成器通常位于任務(wù)開(kāi)頭椅亚,可從文本限番,文件,數(shù)據(jù)庫(kù)讀取數(shù)據(jù)呀舔。生成器也能位于流的中間弥虐,通過(guò)多種模式與已有數(shù)據(jù)流組合
  • 下方菜單欄可點(diǎn)擊刷新,前后單步媚赖,可通過(guò)采樣量來(lái)修改預(yù)覽的數(shù)據(jù)量霜瘪。配置完畢無(wú)誤后,左側(cè)面板點(diǎn)擊執(zhí)行即可惧磺。
  • 很多問(wèn)題來(lái)自于模塊順序不對(duì)颖对,任何步驟錯(cuò)誤,會(huì)導(dǎo)致連鎖的問(wèn)題磨隘,因此有必要使用單步調(diào)試缤底,在調(diào)試到某步時(shí),拖入的模塊會(huì)插入到所在位置番捂。

3.2.高級(jí)功能和技巧

  1. 輸入列一般不用配置训堆,需要時(shí)可下拉選擇,也可手工輸入文本白嘁。列名不要為純數(shù)字坑鱼,否則無(wú)法正常顯示。
  2. 關(guān)于Python轉(zhuǎn)換器:最后一行必須是可求值的表達(dá)式絮缅。例如有兩列a,b,轉(zhuǎn)換器輸出列為c鲁沥,表達(dá)式為a+b,則c列內(nèi)容就是a+b耕魄。但表達(dá)式不能寫c=a+b画恰; Python是強(qiáng)類型語(yǔ)言,輸入的數(shù)據(jù)可能是字符串或數(shù)字吸奴,因此必要時(shí)需要做類型轉(zhuǎn)換允扇;通過(guò)填寫庫(kù)路徑缠局,可讓轉(zhuǎn)換器調(diào)用第三方模塊。
  3. 可在任務(wù)的各個(gè)位置拖入多個(gè)執(zhí)行器(如【寫入數(shù)據(jù)表】)考润,它保存的是當(dāng)前狀態(tài)的數(shù)據(jù)狭园。
  4. 子任務(wù):任務(wù)可互相調(diào)用,功能非常強(qiáng)大糊治,可用于處理多次跳轉(zhuǎn)唱矛,詳情頁(yè)還包含列表的問(wèn)題,比較復(fù)雜井辜,需參考相關(guān)文檔绎谦。

3.3.對(duì)配置的約定

  • 具體數(shù)值,直接填入配置框即可
  • 涉及到輸入多個(gè)列名粥脚,多個(gè)分隔符等窃肠,都默認(rèn)用空格分割,例如a b c
  • 當(dāng)希望從本數(shù)據(jù)清洗中讀取其他列的數(shù)據(jù)到本參數(shù)刷允,使用方括號(hào)表達(dá)式冤留,例如[col]
  • 當(dāng)希望從全局配置中讀取特定字段時(shí),使用大括號(hào)表達(dá)式恃锉,例如{YOUR_CONFIG}
  • 希望將多個(gè)列的數(shù)據(jù)合并作為參數(shù)時(shí)搀菩,可先使用合并多列,再使用對(duì)應(yīng)的表達(dá)式
  • 配置子任務(wù)的模塊范圍時(shí):1:100表示從1到100破托, 2:-2表示從第2個(gè)模塊到倒數(shù)第二個(gè)模塊肪跋,可參考Python的slice寫法
  • 配置子任務(wù)的字段映射時(shí),可以用a:b c:d表示a列映射到b列土砂,以此類推州既。

4.一些忠告

  1. Hawk除了做爬蟲(chóng),還能做數(shù)據(jù)清洗萝映,甚至批量執(zhí)行命令吴叶,需要你來(lái)挖掘。
  2. Hawk對(duì)代理的支持不夠(免費(fèi)的就知足吧)序臂,避免過(guò)度抓取導(dǎo)致屏蔽蚌卤。
  3. 記得經(jīng)常保存任務(wù),盡量將數(shù)據(jù)寫入到數(shù)據(jù)庫(kù)而非表里奥秆,否則程序可能崩潰難以挽回逊彭。

5.如何提問(wèn)

Hawk是個(gè)免費(fèi)的系統(tǒng),因此沒(méi)有客服mm(誰(shuí)請(qǐng)得起构订,設(shè)計(jì)者也不夠帥)侮叮,因此好的問(wèn)題能極大地提升解決問(wèn)題的速度。請(qǐng)按照如下方式描述你的問(wèn)題:

  • 抓取的網(wǎng)站地址悼瘾,要抓取什么內(nèi)容囊榜,在頁(yè)面的什么位置审胸,是什么范圍。
  • 如果能提供你的工程文件卸勺,可在附錄中給出砂沛,這能最大程度解決問(wèn)題。
  • 如果是界面出現(xiàn)異常孔庭,請(qǐng)?zhí)峁┰谑裁喘h(huán)境下尺上,點(diǎn)擊什么按鈕材蛛,報(bào)出什么異常圆到,并發(fā)送所執(zhí)行文件夾的log.dat日志文件作為附件。
  • 操作系統(tǒng)版本卑吭,.Net Framework環(huán)境(不是必須)

請(qǐng)盡量避免如下提問(wèn)方式芽淡,這樣的提問(wèn)沒(méi)有任何意義,作者也無(wú)法解決你的問(wèn)題:

  • XXX網(wǎng)站怎么爬
  • XXX不會(huì)用豆赏,用不了
  • XXX出問(wèn)題了

提問(wèn)按照如下優(yōu)先級(jí)進(jìn)行:

  1. 推薦使用Github的issue,方便其他朋友查閱已有的問(wèn)題挣菲。: https://github.com/ferventdesert/Hawk/issues
  2. 加入QQ群: 546750531(Hawk數(shù)據(jù)抓取交流)
  3. 給作者發(fā)郵件: buptzym@qq.com
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掷邦,隨后出現(xiàn)的幾起案子白胀,更是在濱河造成了極大的恐慌,老刑警劉巖抚岗,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件或杠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡宣蔚,警方通過(guò)查閱死者的電腦和手機(jī)向抢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胚委,“玉大人挟鸠,你說(shuō)我怎么就攤上這事∧抖” “怎么了艘希?”我有些...
    開(kāi)封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)硅急。 經(jīng)常有香客問(wèn)我覆享,道長(zhǎng),這世上最難降的妖魔是什么铜秆? 我笑而不...
    開(kāi)封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任淹真,我火速辦了婚禮,結(jié)果婚禮上连茧,老公的妹妹穿的比我還像新娘核蘸。我一直安慰自己巍糯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布客扎。 她就那樣靜靜地躺著祟峦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪徙鱼。 梳的紋絲不亂的頭發(fā)上宅楞,一...
    開(kāi)封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音袱吆,去河邊找鬼厌衙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛绞绒,可吹牛的內(nèi)容都是我干的婶希。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蓬衡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼喻杈!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起狰晚,我...
    開(kāi)封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤筒饰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后壁晒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瓷们,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年讨衣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了换棚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡反镇,死狀恐怖固蚤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情歹茶,我是刑警寧澤夕玩,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站惊豺,受9級(jí)特大地震影響燎孟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尸昧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一揩页、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烹俗,春花似錦爆侣、人聲如沸萍程。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)茫负。三九已至,卻和暖如春乎赴,著一層夾襖步出監(jiān)牢的瞬間忍法,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工榕吼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饿序,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓友题,卻偏偏與公主長(zhǎng)得像嗤堰,于是被迫代替她去往敵國(guó)和親戴质。 傳聞我的和親對(duì)象是個(gè)殘疾皇子度宦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • GitHub文檔鏡像 歡迎使用Hawk 快速教程 主要組件介紹 核心功能:Hawk工程Hawk任務(wù)市場(chǎng)數(shù)據(jù)表和數(shù)據(jù)...
    desert2017閱讀 1,545評(píng)論 0 1
  • GitHub文檔鏡像 歡迎使用Hawk 快速教程 主要組件介紹 核心功能:Hawk工程Hawk任務(wù)市場(chǎng)數(shù)據(jù)表和數(shù)據(jù)...
    desert2017閱讀 2,527評(píng)論 0 0
  • GitHub文檔鏡像 歡迎使用Hawk 快速教程 主要組件介紹 核心功能:Hawk工程Hawk任務(wù)市場(chǎng)數(shù)據(jù)表和數(shù)據(jù)...
    desert2017閱讀 1,287評(píng)論 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)告匠。 注意:講述HT...
    kismetajun閱讀 27,474評(píng)論 1 45
  • 自己沒(méi)有經(jīng)歷過(guò)的事戈抄,再痛苦也總是感覺(jué)風(fēng)輕云淡,只有親身經(jīng)歷了才明白刻骨銘心的感覺(jué)后专。
    曲晉嘉措閱讀 198評(píng)論 0 0