本文主要摘自官方文檔
1.可以指定多個網(wǎng)址。如果是規(guī)律的母怜。例如:
http://example.com/page/1
http://example.com/page/2
http://example.com/page/3
那我的網(wǎng)址就可以這么寫? ??http://example.com/page/[1-3]
如果他的網(wǎng)址頁面不是以1遞增的锨用,比如pg/1? ? pg/11? ? pg/21? ? ? ? 那么我們可以這樣寫? ?pg/[1-21:10]? 可以認(rèn)為前面的1是默認(rèn)的构灸,所以可以不寫
2.如何爬取二級頁面(詳情頁面)
設(shè)置完前面的網(wǎng)頁惶凝,建立sitemap之后峡继,我們建立一個link? selector(鏈接選擇器)冯袍。然后再建立子選擇器。一般是text(文本)碾牌。需要注意的是康愤,我們需要在當(dāng)前頁面進(jìn)入詳情頁。一句話解釋:鏈接選擇器就是告訴插件點擊哪里舶吗,子選擇器告訴插件我要找什么數(shù)據(jù)征冷。另外,三種核心選擇器是link? selector? ,element? ?selector,? text? selector.
3.當(dāng)選擇器建立完成之后誓琼,切換到sitemap? your_sitemap.可以看到下拉框有scrape按鈕检激,點擊即可開始爬取。這時腹侣,插件會自動打開你指定的網(wǎng)址叔收,抓完數(shù)據(jù)后瀏覽器會關(guān)閉。這時會顯示:no data? scraped? yet.? refresh.點擊refresh,數(shù)據(jù)就出來了筐带。如果這時還沒有今穿,可能要回去檢查一下sitemap,哪里弄錯了
4.選擇器:選擇器大致可以分為三種----數(shù)據(jù)抽取伦籍、鏈接選擇器(link)蓝晒、元素選擇器
? ? 數(shù)據(jù)抽取選擇器只是簡單的返回從選擇的元素找到的數(shù)據(jù)。
? ? 鏈接選擇器從鏈接提取網(wǎng)址帖鸦,稍后打開提取數(shù)據(jù)芝薇。舉個例子,如果一個sitemap? tree有一個鏈接選擇器作儿,后面跟著三個子文本選擇器洛二。那么web? scraper就會打開鏈接選擇器指定的網(wǎng)址,然后抽取3個文本選擇器所指定的數(shù)據(jù)攻锰。當(dāng)然晾嘶,鏈接選擇器后面也可以跟鏈接選擇器,這樣就實現(xiàn)了三級娶吞、四級等頁面數(shù)據(jù)提壤萦亍(級數(shù)越多會越慢)
? ? 元素選擇器包含多種數(shù)據(jù)元素。例如妒蛇,元素選擇器可以在電商網(wǎng)站上選擇一系列項目机断。(對HTML熟悉的可以認(rèn)為他是包含很多子標(biāo)簽的標(biāo)簽楷拳,如div).
? ? 選擇器選項(重要)parent selectors:確認(rèn)當(dāng)下建立的選擇器的父選擇器。 multiple:很重要的選項吏奸。舉個例子欢揖,我現(xiàn)在想爬一下淘寶某個店鋪所有產(chǎn)品的名字、價格奋蔚、銷量她混。那么我先建立一個父選擇器,element? selector泊碑,此時我需要勾選mutiple.然后建立三個子文本選擇器产上。注意這時千萬不要勾選multiple.不然同一個產(chǎn)品的名字、價格蛾狗、銷量不在一行
4.1? 文本選擇器
? ? html標(biāo)簽會剝離,只有文本會返回仪媒。文本選擇器會忽略<script>,<style>標(biāo)簽中的文本沉桌。
? ? 正則:我們可以使用正則表達(dá)式對選擇器獲取的文本做進(jìn)一步提取
? ? 舉幾個例子:1)提取評論----評論有好幾條,這時應(yīng)該勾選multiple.2)提取多項目多文本算吩。這個比較常用留凭。需用元素選擇器作為文本選擇器的父選擇器。3)一個項目多個不同文本偎巢。和1不同的是這里文本選擇器是不同的蔼夜。
4.2 鏈接選擇器
? ? 如果使用鏈接選擇器而沒有任何子選擇器,那么就會提取鏈接和相應(yīng)的網(wǎng)址压昼。
? ? 注意:web? scraper僅能在<a>標(biāo)簽href屬性時工作求冷。如果不生效執(zhí)行下面的動作
? ? 1)點擊鏈接,看地址欄有無變化窍霞。如果沒有可能用的是ajax加載數(shù)據(jù)匠题。這時我們可以用element? click? selector
? ? 2) 如果網(wǎng)站打開彈出式窗口那么就應(yīng)該用link? ?popup? selector
? ? 3)網(wǎng)站可能使用js? window.location來改變網(wǎng)址,這個目前無法處理
4.3??Sitemap.xml link selector(暫不清楚)
4.4? 彈出鏈接選擇器
? ? 用法和鏈接選擇器類似但金,當(dāng)點擊鏈接打開新的窗口而不是在同一個選項卡打開 或者在新選項卡打開韭山,這時就要用到。
4.5? 圖像選擇器
? ? 圖形選擇器返回的是圖像地址冷溃。之前有下載圖形選項钱磅,現(xiàn)在我們可以用image download script
? ? 先下載python,再https://github.com/webscraperio/image-downloader下載py文件,最后把包含圖片鏈接的CSV文件放在py文件上面似枕。
4.6? 表格選擇器
?4.7? 元素屬性選擇器
? ? 從html? ?元素中提取屬性值盖淡,<a href="#" title="my title">link<a>.? ?比如提取my? title
4.8? html選擇器
4.9? grouped? selector
? ? 數(shù)據(jù)會存儲成json格式。
4.10? 元素選擇器
? ? 元素選擇器包含多種數(shù)據(jù)元素菠净,元素選擇器可以在電商網(wǎng)站上選擇一系列項目禁舷。
4.11? 元素滾動選擇器
? ? 用于某些單頁顯示的網(wǎng)頁彪杉,向下滑動加載數(shù)據(jù)。然而在淘寶測試效果不佳牵咙。
最后附上一段sitemap文件派近,json格式的。直接導(dǎo)入可用洁桌。
{"_id":"qiqixiong","startUrl":["https://ciciibear.tmall.com/category.htm?search=y&orderType=newOn_desc&pageNo=[1-20]#anchor"],"selectors":[{"id":"cloth2","type":"SelectorElement","parentSelectors":["_root"],"selector":"dl.item","multiple":true,"delay":0},{"id":"jump","type":"SelectorLink","parentSelectors":["cloth2"],"selector":"a.item-name","multiple":false,"delay":0},{"id":"title","type":"SelectorText","parentSelectors":["jump"],"selector":".tb-detail-hd h1","multiple":false,"regex":"","delay":0},{"id":"price","type":"SelectorText","parentSelectors":["jump"],"selector":".tm-promo-price span","multiple":false,"regex":"","delay":0},{"id":"sold","type":"SelectorText","parentSelectors":["jump"],"selector":".tm-ind-sellCount span.tm-count","multiple":false,"regex":"","delay":0}]}