Python手動(dòng)搜索關(guān)鍵詞采集信息—以易迅為例!
優(yōu)采云 發(fā)布時(shí)間: 2020-08-03 10:55Python數據剖析之numpy字段全解析一、操作步驟
如果網(wǎng)頁(yè)上有搜索框,但是搜索結果頁(yè)面沒(méi)有獨立網(wǎng)址,想要采集搜索結果,直接做規則是采集不到的,要先做連續動(dòng)作(輸入+點(diǎn)擊)來(lái)實(shí)現手動(dòng)輸入關(guān)鍵詞并搜索,然后才會(huì )采集數據。下面用易迅搜索為例,演示手動(dòng)搜索采集,操作步驟如下:
Python資源共享群:626017123
二、案例規則+操作步驟
注意:本案例易迅搜索是有獨立網(wǎng)址的,對于具有獨立網(wǎng)址的頁(yè)面,最簡(jiǎn)單的方式就是構造出每位關(guān)鍵詞的搜索網(wǎng)址,然后把線(xiàn)索網(wǎng)址導出到規則里,就可以批量采集,而不是設置連續動(dòng)作
第一步:定義第一級規則
1.1打開(kāi)集搜客網(wǎng)絡(luò )爬蟲(chóng),輸入網(wǎng)址并Enter,加載出網(wǎng)頁(yè)后再點(diǎn)擊“定義規則”按鈕,看到一個(gè)浮窗顯示下來(lái),稱(chēng)為工作臺,在前面定義規則;
注意:這里的截圖和文字說(shuō)明都是集搜客網(wǎng)絡(luò )爬蟲(chóng)版本,如果您安裝的是傲游插件版,那么就沒(méi)有“定義規則”按鈕,而是應當運行MS謀數臺
1.2在工作臺北輸入一級規則的主題名,再點(diǎn)擊“查重”,提示“該名可以使用”或“該名已被占用,可編輯:是”,就可以使用這個(gè)主題名,否則請重命名。
1.3本級規則主要是設置連續動(dòng)作,所以,整理箱可以隨便抓取一個(gè)信息,用來(lái)給爬蟲(chóng)判定是否執行采集。雙擊網(wǎng)頁(yè)上的信息,輸入標簽名,并打勾確認,再勾上關(guān)鍵內容,首次標明還要輸入整理箱的名子,然后就完成標明映射了。
Tips:為了能確切定位網(wǎng)頁(yè)信息,點(diǎn)擊定義規則會(huì )把整個(gè)網(wǎng)頁(yè)定格住,不能跳轉網(wǎng)頁(yè)鏈接,再次點(diǎn)擊定義規則,才會(huì )恢復回普通的網(wǎng)頁(yè)模式。
第二步:定義連續動(dòng)作
點(diǎn)擊工作臺的“連續動(dòng)作”頁(yè)簽,點(diǎn)擊新建按鍵構建一個(gè)新動(dòng)作,每個(gè)動(dòng)作的設置方式都是一樣,基本操作如下:
2.1 ,輸入目標主題名
這里的目標主題名是填第二級主題名,點(diǎn)擊“誰(shuí)在用”查看目標主題名是否可用,如果早已被占用,換一個(gè)主題名就行
2.2, 創(chuàng )建第一個(gè)動(dòng)作:輸入
新建一個(gè)動(dòng)作,并選擇動(dòng)作類(lèi)型為輸入。
2.2.1,填寫(xiě)定位表達式
首先鍵盤(pán)單擊輸入框,定位輸入框的節點(diǎn),然后點(diǎn)擊“自動(dòng)生成XPath”按鈕,可以選擇“偏好id”或者“偏好class”,就可以得到輸入框的xpath表達式,再點(diǎn)擊“搜索”按鈕,檢查一下這個(gè)xpath是否能惟一定位到輸入框,沒(méi)有問(wèn)題就把xpath復制到定位表達式方框里。
注意:定位表達式里的xpath是要鎖定動(dòng)作對象的整個(gè)有效操作范圍,具體就是指鍵盤(pán)就能點(diǎn)擊或輸入成功的網(wǎng)頁(yè)模塊,不要定位到最底層的text()節點(diǎn)。
2.2.2,輸入關(guān)鍵詞
輸入關(guān)鍵詞填寫(xiě)你想搜索的關(guān)鍵詞,可以輸入一個(gè)關(guān)鍵詞,也可以輸入多個(gè)關(guān)鍵詞,輸入多個(gè)關(guān)鍵詞要用雙分號;;將每位關(guān)鍵詞隔開(kāi),免費版只支持5個(gè)以?xún)鹊年P(guān)鍵詞,旗艦版可以使用連發(fā)彈倉功能,支持1萬(wàn)以?xún)鹊年P(guān)鍵詞
2.2.3,輸入動(dòng)作名稱(chēng)
告訴自己這一步動(dòng)作是拿來(lái)干嘛的,方便之后更改。
2.3,創(chuàng )建第二個(gè)動(dòng)作:點(diǎn)擊
參考2.2的操作,創(chuàng )建第二個(gè)動(dòng)作,選擇類(lèi)型為點(diǎn)擊,定位到搜索按鍵,然后手動(dòng)生成xpath,檢驗是否鎖定到惟一節點(diǎn),沒(méi)問(wèn)題的話(huà)填到定位表達式里就行了。
2.4,存規則
點(diǎn)擊“存規則”按鈕保存已完成的第一級規則
第三步:定義第二級規則
3.1,新建規則
創(chuàng )建第二級規則,點(diǎn)擊“定義規則”恢復到普通網(wǎng)頁(yè)模式,輸入關(guān)鍵詞搜索出結果后,再次點(diǎn)擊“定義規則”切換到做規則模式,點(diǎn)擊左上角“規則”菜單->“新建”,輸入主題名,這里的主題名就是第一級規則的連續動(dòng)作里填寫(xiě)的目標主題名。
3.2,標注想要采集的信息
3.2.1,標注網(wǎng)頁(yè)上想要采集的信息,這里是對商品名稱(chēng)和價(jià)位做標明,因為標明只對文本信息有效,商品詳情的鏈接是屬性節點(diǎn)@href,所以,不能對鏈接做這樣的直觀(guān)標明,而要做內容映射,具體看下邊的操作。
3.2.2,點(diǎn)擊商品名稱(chēng),下面的DOM節點(diǎn)定位到A標簽,展開(kāi)A標簽下的attributes節點(diǎn),就可以找到代表網(wǎng)址的@href節點(diǎn),右擊節點(diǎn),選擇“新建抓取內容“,輸入一個(gè)名子,一般給這個(gè)抓取內容起一個(gè)和地址有關(guān)的名子,比如“下級網(wǎng)址“,或者”下級鏈接“等等。然后在工作臺上,看到這個(gè)抓取內容有了。如果還要步入商品詳情頁(yè)采集,就要對著(zhù)這個(gè)抓取內容勾選下級線(xiàn)索關(guān)鍵詞自動(dòng)采集,做層級抓取。
3.2.3,設置“關(guān)鍵內容”選項,這樣爬蟲(chóng)就能判別出采集規則是否合適。在整理箱里選一個(gè)網(wǎng)頁(yè)上必然能采到的標簽關(guān)鍵詞自動(dòng)采集,勾上“關(guān)鍵內容”。這里選擇的是“名稱(chēng)”做為“關(guān)鍵內容”。
3.2.4,前面只對一個(gè)商品做標明,也才能得到一個(gè)商品信息,如果想把一整頁(yè)上每一個(gè)商品都采集下來(lái),可以做樣例復制,不懂的請參考基礎教程《采集列表數據》
3.3,設置翻頁(yè)路線(xiàn)
在爬蟲(chóng)路線(xiàn)設置翻頁(yè),這里用的是記號線(xiàn)索,不懂的請參考基礎教程《設置翻頁(yè)采集》
3.4,存規則
點(diǎn)擊“測試”,檢查信息完整性。不完整的話(huà),重新標明就可以覆蓋之前的內容。檢查沒(méi)問(wèn)題后點(diǎn)擊“存規則”。
第四步:抓數據
4.1,連續動(dòng)作是連續執行的,所以只要運行第一級主題,第二級主題不用運行。打開(kāi)DS打數機,搜索出第一級主題名,點(diǎn)擊“單搜”或“集搜”,此時(shí)可以看見(jiàn)瀏覽器窗口里會(huì )手動(dòng)輸入關(guān)鍵詞而且搜索,然后調用第二級主題手動(dòng)采集搜索結果。
4.2,第一級主題沒(méi)采到有意義的信息,所以,我們只看第二級主題的文件夾,就能看見(jiàn)采集的搜索結果數據,并且搜索的關(guān)鍵詞是默認記錄在xml文件的actionvalue數組中,這樣才能一一對應上去。