Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.-----引入官网地址的一句话 1.1 安装 Beautiful Soup 4 通过PyPi发布,所以如果你无法使用系统包管理安装,那么也可以通过 easy_install 或 pip 来安装.包的名字是 beautifulsoup4 ,这个包兼容Python2和Python3. pip install beautifulsoup4 from bs4 import BeautifulSoup soup = BeautifulSoup(html_doc) 有遍历和搜索两种方式解析soup 1.2 解析语法、find、find_all find_all( name , attrs , recursive , text , **kwargs ) find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件 1. 查询所有a标签的内容 soup.find_all('a') 2. 查询所有a标签下class样式为bb的内容 soup.find_all('a', 'bb') 3. 查询所有id样式为cc的内容 soup.find_all(id='cc') find_all()的返回值是一个<class 'bs4.element.Tag'>对象列表,这个对象是Tag的实例可以使用字典的方式访问得到的标签的属性,和.string的方式得到标签的text()
xpath(http://www.w3school.com.cn/xpath/xpath_syntax.asp)
# 获取ul标签下的li标签中a的值 a_list = html.xpath('//ul/li/a') for a in a_list: print(a.xpath('./text()')) # 获取li标签下a的href属性 for a in a_list: print(a.xpath('./@href')) . 可以取到当前元素 / 从根节点选取。 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 xpath中的谓语:谓语用来查找某个特定的节点或者包含某个指定的值的节点。谓语被嵌在方括号中。可以理解为按照[]里面的条件去筛选