美文网首页
第一周:beautifulsoup,css selector

第一周:beautifulsoup,css selector

作者: dandd31 | 来源:发表于2016-05-28 10:30 被阅读0次

    1.直接从chrome中复制出来的css selector 没有起作用

    我直接从chrome复制出需要标签的 css selector,但是得到了一个空的list,也就说我的css selector并没有帮我定位到需要的标签,需要从chrome中取得的selector做一定的修改。但是改的时候一脸懵不知道从哪里下手。
    有可能是因为js的原因,有时候从浏览器直接复制出去的css selector 不能直接使用,需要自己构建一个。感觉从最底层的标签开始构造会比较简单。

    css是什么?
    如果说建造一个网站是捏一个恐龙的话,html就是骨架,css就是用来填充骨架的树脂,javascript就是让恐龙会动的电子元件。
    从w3school的课程中也可以看出,html那块的课程就是教你构成网页的各种元素,而css那块就教你什么让你写的网页更漂亮。

    css的语法:
    和python的字典有点像只不过python是用,来隔开元素的而不是;。把css直接写在现实的网页中很少见到。更多的是<标签 class="XXX">这种形式。


    Paste_Image.png

    css的外部样式表:
    把所有需要用的css样式写在一个文件中,如果一个网页需要css就用引用文件中的css(看上去有点像python导入第三方模块的感觉)。引用这些css都是在标签中添加 class = "xxx"。

    css selector是什么?
    [Css属性]选择器又被称为[css样式]属性、css选择器。你可别看见什么选择器就感到陌生感到困惑被吓住了!http://www.divcss5.com/rumen/r61.shtml
    如果在编写网页的时候,css selector 用来快速批量的更改一个或者多个标签的css样式。而在bs4中,select函数用css selector来查找你想要的元素。

    css selector 在bs4中的使用

    1.soup.select('a')
    整个HTMLa标签都可以被找到

    2.soup.select("body a")
    和soup.select('a')对比可以理解成减少了检索的范围,在body里所有的a标签

    3.soup.select("head > title")
    在head里面的title标签,比如:第一章里所有以a开头的句子

    4.soup.select("#link1 ~ .sister")
    查找兄弟节点,在实际使用的时候class的描述好像是必须加的

    5.soup.select(".sister")
    通过css描述来找标签,一般表里中 class = xxxxx 就是css描述

    6.soup.select("#link1")
    有些标签里会带有id,通过id里的标签去查找

    7.soup.select('a[href]')
    标签属性来查找

    8.soup.select('a[href="http://example.com/elsie"]
    通过属性的值来查找

    soup.select('a[href^="http://example.com/"]')
    a标签中的href属性,所有用http://example.com/开头的
    (疑问:如果在a后加了class就不行了?)

    soup.select('a[href$="tillie"]')
    a标签中的href属性,所有用tillie结尾的

    soup.select('a[href*=".com/el"]')
    a标签中的href属性,包含了.com/el子串的

    9.soup.select('p[lang|=en]')
    通过语言来查找

    引用的资料:
    http://www.w3school.com.cn/cssref/css_selectors.ASP
    http://beautifulsoup.readthedocs.io/zh_CN/latest/#id37

    相关文章

      网友评论

          本文标题:第一周:beautifulsoup,css selector

          本文链接:https://www.haomeiwen.com/subject/wunarttx.html