Python BeautifulSoup常见小操作

获取一个类似的attr属性
#soup  = img.parent 即soup是img的父级元素时可以在find或者select("")[0]
#后直接用中括号[ ]来获取attr
soup.find("img")["src"]
#但是如果soup直接是一个标签,例如
#soup = BeautifulSoup("
","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", "
") 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常见小操作)