1.直接從chrome中復(fù)制出來(lái)的css selector 沒(méi)有起作用
我直接從chrome復(fù)制出需要標(biāo)簽的 css selector,但是得到了一個(gè)空的list蚕捉,也就說(shuō)我的css selector并沒(méi)有幫我定位到需要的標(biāo)簽,需要從chrome中取得的selector做一定的修改柴淘。但是改的時(shí)候一臉懵不知道從哪里下手迫淹。
有可能是因?yàn)閖s的原因秘通,有時(shí)候從瀏覽器直接復(fù)制出去的css selector 不能直接使用,需要自己構(gòu)建一個(gè)敛熬。感覺(jué)從最底層的標(biāo)簽開(kāi)始構(gòu)造會(huì)比較簡(jiǎn)單肺稀。
css是什么?
如果說(shuō)建造一個(gè)網(wǎng)站是捏一個(gè)恐龍的話应民,html就是骨架话原,css就是用來(lái)填充骨架的樹(shù)脂,javascript就是讓恐龍會(huì)動(dòng)的電子元件。
從w3school的課程中也可以看出瑞妇,html那塊的課程就是教你構(gòu)成網(wǎng)頁(yè)的各種元素,而css那塊就教你什么讓你寫(xiě)的網(wǎng)頁(yè)更漂亮梭冠。
css的語(yǔ)法:
和python的字典有點(diǎn)像只不過(guò)python是用辕狰,來(lái)隔開(kāi)元素的而不是;控漠。把css直接寫(xiě)在現(xiàn)實(shí)的網(wǎng)頁(yè)中很少見(jiàn)到蔓倍。更多的是<標(biāo)簽 class="XXX">這種形式。
css的外部樣式表:
把所有需要用的css樣式寫(xiě)在一個(gè)文件中盐捷,如果一個(gè)網(wǎng)頁(yè)需要css就用引用文件中的css(看上去有點(diǎn)像python導(dǎo)入第三方模塊的感覺(jué))偶翅。引用這些css都是在標(biāo)簽中添加 class = "xxx"。
css selector是什么碉渡?
[Css屬性]選擇器又被稱(chēng)為[css樣式]屬性聚谁、css選擇器。你可別看見(jiàn)什么選擇器就感到陌生感到困惑被嚇住了滞诺!http://www.divcss5.com/rumen/r61.shtml
如果在編寫(xiě)網(wǎng)頁(yè)的時(shí)候形导,css selector 用來(lái)快速批量的更改一個(gè)或者多個(gè)標(biāo)簽的css樣式。而在bs4中习霹,select函數(shù)用css selector來(lái)查找你想要的元素朵耕。
css selector 在bs4中的使用
1.soup.select('a')
整個(gè)HTMLa標(biāo)簽都可以被找到
2.soup.select("body a")
和soup.select('a')對(duì)比可以理解成減少了檢索的范圍,在body里所有的a標(biāo)簽
3.soup.select("head > title")
在head里面的title標(biāo)簽淋叶,比如:第一章里所有以a開(kāi)頭的句子
4.soup.select("#link1 ~ .sister")
查找兄弟節(jié)點(diǎn)阎曹,在實(shí)際使用的時(shí)候class的描述好像是必須加的
5.soup.select(".sister")
通過(guò)css描述來(lái)找標(biāo)簽,一般表里中 class = xxxxx 就是css描述
6.soup.select("#link1")
有些標(biāo)簽里會(huì)帶有id煞檩,通過(guò)id里的標(biāo)簽去查找
7.soup.select('a[href]')
標(biāo)簽屬性來(lái)查找
8.soup.select('a[href="http://example.com/elsie"]
通過(guò)屬性的值來(lái)查找
soup.select('a[href^="http://example.com/"]')
a標(biāo)簽中的href屬性处嫌,所有用http://example.com/開(kāi)頭的
(疑問(wèn):如果在a后加了class就不行了?)
soup.select('a[href$="tillie"]')
a標(biāo)簽中的href屬性斟湃,所有用tillie結(jié)尾的
soup.select('a[href*=".com/el"]')
a標(biāo)簽中的href屬性锰霜,包含了.com/el子串的
9.soup.select('p[lang|=en]')
通過(guò)語(yǔ)言來(lái)查找
引用的資料:
http://www.w3school.com.cn/cssref/css_selectors.ASP
http://beautifulsoup.readthedocs.io/zh_CN/latest/#id37