类似的attr属性 把json数据输出为utf-8格式 网站根目录url和相对ur...">
美文网首页我爱编程
Python BeautifulSoup常见小操作

Python BeautifulSoup常见小操作

作者: Xinxing_Li | 来源:发表于2018-04-24 15:16 被阅读0次
    获取一个<img src="">类似的attr属性
    #soup  = img.parent 即soup是img的父级元素时可以在find或者select("")[0]
    #后直接用中括号[ ]来获取attr
    soup.find("img")["src"]
    #但是如果soup直接是一个标签,例如
    #soup = BeautifulSoup("<div style='color:red;'></div>","html.parser")
    #此时应该使用:
    soup.div["style"]
    
    把json数据输出为utf-8格式
    #python2.7
    from __future__ import unicode_literals
    import  json,codecs
    fout = codecs.open("xxx.xx","w+","utf-8")
    #有时要解决json里面字符串的\n问题str.Replace("\n", "<br />")  
    fout.write(json.dumps({"json":['data']},sort_keys=True, indent=4,ensure_ascii=False))
    fout.close()
    
    网站根目录url和相对url的拼接
    #例如把"www.imooc.com/img/"和"/item/123"拼接在一起
    import urlparse
    urlparse.urljoin("http://www.imooc.com/img/","/item/123")
    # >>> 'http://www.imooc.com/item/123'
    
    遍历大的div块时寻找soup类型的兄弟div节点
    try:
        bg_div = bg_div.find_next_sibling()   #而bg_div.next_sibling就不是soup对象了而是转化为一个字符串
        #print bg_div['class']
        lists = bg_div.select(".course-card-container a")
    except BaseException,e:
       print e,line_num
    
    selenium在获取没有display的元素的text的时候只能拿到空字符串

    此时应采用.ger_attribute(“innerText”)来解决

    vue的数据类型中的

    json数据对"children-list"这类带中间横线的key会报错,建议改为"children_list"

    相关文章

      网友评论

        本文标题:Python BeautifulSoup常见小操作

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