网络爬虫-3(共?):网页解析器实现

网页解析器的目的      及       四种网页解析器的类型:

               

结构化解析——DOM(Document Object Model) 树。结构如下:

                               


网页解析器 - Beautiful Soup - 基本语法    ↓↓↓↓↓    【Beautiful Soup技术文档


       

 

1.创建BeautifulSoup对象:↓↓↓↓

from bs4 import BeautifulSoup

#根据HTML网页字符串创建BeautifulSoup对象
soup = BeautifulSoup(
    html_doc,            #html文档字符串
    'html.parser'        #html解析器
    from_encoding='utf8' #html文档的编码
)

2.搜索节点(find_all,find):↓↓↓↓

#方法:find_all(name,attrs,string)

#查找所有标签为a的节点
soup.find_all('a')
#查找所有标签为a,连接符合/view/123.htm形式的节点
soup.find_all('a',href='/view/123.htm')
soup.find_all('a',href=re.compile(r'/view/\d+\.htm'))      #支持正则表达进行匹配内容

#查找所有标签为div,class为abc,文字为Python的节点。
soup.find_all('div',class_=‘abc’,string='Python')          #class加下划线,是因为python的关键字有class,避免冲突

3.访问节点信息:↓↓↓↓

#得到节点:<a herf='1.html'>Python</a>

#获取查找到的节点的标签名称
node.name

#获取查找到的节点的href属性
node['herf']

#获取查找到的节点的链接文字
node.get_text()

实例测试:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章