码迷,mamicode.com
首页 > 编程语言 > 详细

Python3处理HTML获取所需内容

时间:2017-09-23 17:21:52      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:节点   内容   .text   des   nts   code   tag   之一   color   

处理HTML页面,经常使用的便是使用beautifulsoup库

pip install beautifulsoup4

执行上述语句下载bs4库

一般请求下来的所需数据都位于tbody的tr标签里,下面给出对应代码:

 soup = BeautifulSoup(r.text, "html.parser")
    informationlist = []
    for tr in soup.find(tbody).children:
        #出现/n情况,/n在soup中被认为是子节点之一
        if(tr!=\n):
            tds = tr(td)
            informationlist.append([tds[0].string, tds[1].string, tds[8].string])
    for i in range(len(informationlist)):
        information = informationlist[i]
        print("{:^10}\t{:^6}\t{:^10}".format(information[0], information[1], information[2]))

Tag:标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾

Name:标签的名字,<p>…</p>的名字是‘p‘,格式:<tag>.name

Attributes:标签的属性,字典形式组织,格式:<tag>.attrs

NavigableString:标签内非属性字符串,<>…</>中字符串,格式:<tag>.string

Comment:标签内字符串的注释部分,一种特殊的Comment类型

遍历方法:

for child in soup.body.children: 
    print(child)
for child in soup.body.descendants: 
    print(child)

下面给出一些常用的属性

.contents:子节点的列表,将<tag>所有儿子节点存入列表

.children:子节点的迭代类型,与.contents类似,用于循环遍历儿子节点

.descendants:子孙节点的迭代类型,包含所有子孙节点,用于循环遍历

.parent:节点的父亲标签

.parents:节点先辈标签的迭代类型,用于循环遍历先辈节点

.next_sibling:返回按照HTML文本顺序的下一个平行节点标签

.previous_sibling:返回按照HTML文本顺序的上一个平行节点标签

.next_siblings:迭代类型,返回按照HTML文本顺序的后续所有平行节点标签

.previous_siblings:迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

Python3处理HTML获取所需内容

标签:节点   内容   .text   des   nts   code   tag   之一   color   

原文地址:http://www.cnblogs.com/FZfangzheng/p/7581596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!