2018-03-08

BeautifulSoup与requests的官方文档

  • bs4 地址 http://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/#attributes
  • requests 地址 http://docs.python-requests.org/zh_CN/latest/index.html

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]: Mac玩儿法

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)