美文网首页
2018-03-08

2018-03-08

作者: 秦时明星 | 来源:发表于2018-03-09 10:13 被阅读0次

    BeautifulSoup与requests的官方文档

    BeautifulSoup的简易介绍

    • 使用
    from bs4 import BeautifulSoup
    
    • BeautifulSoup将html文档装换成复杂的树形结构,每个节点都是python对象,4类对象分别是:
    • Tag
    • NavigableString
    • BeautifulSoup
    • Comment
    • Tag 就是HTML中的标签,title,head,a,p标签等,Tag有两个属性,分别是name和attr。
    • NavigableString 得到标签后,标签内的文字用.string即可获得。
    In [13]: soup.a
    Out[13]: <a href="https://www.waerfa.com/" rel="home">Mac玩儿法</a>
    
    In [14]: soup.a.string
    Out[14]: 'Mac玩儿法'
    
    • BeautifulSoup 对象表示一个文档的内容。

    遍历文档树

    • 直接子节点:.contents .children 属性
    • 所有子孙节点:.descendants 属性
    • 节点内容: .string 属性

    搜索文档树

    1 find_all(name, attrs, recursive, text, **kwargs)

    • name 参数

    传字符串

    soup.find_all('a')
    

    传正则表达式

    soup.find_all(re.compile("^b"))
    

    传列表

    soup.find_all(["a","b"])
    
    • keyword 参数
    soup.find_all(id="link2")
    
    • text参数
    soup.find_all(text="Documents")
    

    CSS 选择器

    CSS 选择器 标签名不加任何修饰,类名前加. , id前加#
    soup.select() 方法,返回的是List

    • 1 通过标签名查找
    soup.select("title")
    
    • 2 通过类名查找
    soup.select(".sister")
    
    • 3 通过id查找
    soup.select('#link2')
    
    • 4 组合查找
    两者用`空格`分开,直接子标签查找用 `>`
    soup.select('p #link2')
    soup.select('head > title')
    
    • 5 属性查找
    soup.select('a[class="sister"]')
    
    • 6 获取内容
    获得的是列表,用遍历get_text()获得其内容
    soup.select("title")[0].get_text()
    

    Json数据格式

    JSon就是JavaScript中的对象和数组

    • 对象
    • 对象在Js中为{}里的内容,数据结构为{键:值,键:值···}键值对,key为属性,value为属性值 取值方法为 对象.key,属性的类型可以是数字、字符串、数组、对象等
    • 数组在js中为[]中的内容,数据结构为["python","javaScripts","C++"],使用索引取值,字段值类型可以是数字、字符串、数组、对象。
    • 使用
    import json
    
    • json 模块提供了四个功能:dumps,dump,loads,load用于字符串与python数据类型之间的转换

    • 1 json.loads() json字符串转换为python数据格式

    • 2 json.dumps() python数据格式转换为json字符串

    相关文章

      网友评论

          本文标题:2018-03-08

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