正則表達式(特殊字符)
^ 開頭 '^b.*'----以b開頭的任意字符 $ 結尾 '^b.*3$'----以b開頭,3結尾的任意字符 * 任意長度(次數),≥0 ? 非貪婪模式,非貪婪模式盡可能少的匹配所搜索的字符串 '.*?(b.*?b).*'----從左至右第一個b和的二個b之間的內容(包含b) + 一次或多次 {2} 指定出現次數2次 {2,} 出現次數≥2次 {2,5} 出現次數2≤x≤5 | 或 “z|food”----能匹配“z”或“food”(此處請謹慎)。“[z|f]ood”----則匹配“zood”或“food”或"zood" [] 括號中任意一個符合即可(中括號里面沒有分轉義字符) '[abc]ooby123'----只要開頭符合[]中任意一個即可 [^] 只要不出現[]的即可 [a-Z] 從小a到大Z . 任意字符 \s 匹配不可見字符 \n \t '你\s好'----可以匹配‘你 好’ \S 匹配可見字符,即普通字符 \w 匹配下划線在內的任何單詞字符 \W 和上一個相反 [\u4E00-\u9FA5] 只能匹配漢字
() 要取出的信息就用括號括起來 \d 數字
Xpath語法
article 選取所有article元素的所有子節點 /article 選取根元素article article/a 選取所有屬於article的子元素的a元素 //div 選取所有div子元素(不論出現在文檔任何地方) article//div 選取所有屬於article元素的后代的div元素不管它出現在article之下的任何位置 //@class 選取所有名為class的屬性 /article/div[1] 選取屬於srticle子元素的第一個div所有子節點 /article/div[last()] 選取屬於article子元素的最后一個div所有子節點 /article/div[last()-1] 選取屬於article子元素的倒數第二個div所有子節點 //div[@lang] 選取所有擁有lang屬性的div元素 //div[@lang='eng'] 選取所有lang屬性為eng的div元素 /div/* 選取屬於div元素的所有子節點 //* 選取所有元素 //div[@*] 選取所有帶屬性的div元素 //div/a | //div/p 選取所有div元素的a個p元素 //span | //ul 選取文檔中的span和ul元素 article/div/p | //span 選取所有屬於article元素的div元素和所有的span元素
CSS選擇器
* 選取所有節點 #container 選取id為container的節點 .container 選取所有class包含container的節點 li a 選取所有li下的所有a節點 ul+p 選取ul后面的第一個p元素 div#container > ul 選取id為container的div的第一個ul子元素 ul ~ p 選取與ul相鄰的所有p元素 a[title] 選取所有有title屬性的a元素 a[href="http://jobbole.com"] 選取所有href屬性為jobbole.com a[href*="jobole"] 選取所有href屬性包含jobbole的a元素 a[href^="http"] 選取所有href屬性值以http開頭的a元素 a[href$=".jpg"] 選取所有href屬性值以.jpg結尾的a元素 input[type=radio]:checked 選取選中的radio的元素 div:not(#container) 選取所有id非container的div元素 li:nth-child(3) 選取第三個li元素 tr:nth-child(2n) 第偶數個tr元素