博客
关于我
如何利用 Beautiful Soup 爬取网页数据
阅读量:374 次
发布时间:2019-03-05

本文共 1477 字,大约阅读时间需要 4 分钟。

定义

Python中的一个库,主要用于从网页爬取数据;

安装

pip install beautifulsoup4

四大对象

Beautiful Soup将复杂的HTML文档转换成树形结构,树中的每个节点都是Python对象,对象可归纳为以下4种;

Tag

XMLHTML中的标签tag相同,tag属性可被增删修改,操作方法和字典一样,最常用的属性如下;

  • name
  • attributes

NavigableString

获取标签之后,用于获取标签内部的文字;

BeautifulSoup

表示一个文档的全部内容,大多数情况下都可以将它当作Tag对象,是一个特殊的Tag对象,可用于分别获取其类型、名称及属性;

Comment

Comment是一个中枢类型的NavigableString对象,输出内容不含注释符号;

#!/usr/bin/python3# -*- coding:utf-8 -*-# @Time    : 2018-11-16 10:30# @Author  : Manu# @Site    : # @File    : beautiful_soup.py# @Software: PyCharmfrom bs4 import BeautifulSouphtml = """<html><head><title>村雨</title></head><body><p class="title" name="blog"><b>村雨的博客</b></p><li><!--注释--></li><a href="https://blog.csdn.net/github_39655029/article/details/83933199" target="_blank">        <span class="article-type type-1">            原        </span>        Python爬虫之网络请求      </a><a href="https://blog.csdn.net/github_39655029/article/details/84100458" target="_blank">        <span class="article-type type-1">            原        </span>        爬虫实践--豆瓣电影当前上映电影信息爬取      </a>        </body></html>"""soup = BeautifulSoup(html, 'lxml')print(soup.name)print(soup.title.name)print(soup.prettify())# 获取titleprint('title:', soup.title.text)# 获取headprint('p:', soup.p.text)a_list = soup.a.attrsprint(a_list.get('href'))# 获取Title标签的文字内容print(soup.title.string)# 获取对象名称print(soup.name)# 获取对象属性print(soup.attrs)# 获取对象类型print(type(soup.name))if type(soup.li.string) == element.Comment:    print('comment:', soup.li.string)

你可能感兴趣的文章
无锁并发框架-Disruptor的使用(二)
查看>>
Android wm命令
查看>>
boot.img 解包与打包
查看>>
Android4.4 平板背光设置
查看>>
递归复习--二叉搜索树
查看>>
jvm-02
查看>>
spring boot@Value和bean执行顺序问题
查看>>
从浏览器输入网址到服务器返回经历的过程
查看>>
解决Genymotion无法拖拽的问题
查看>>
中国石油大学《计算机文化基础》在线考试(客观题)
查看>>
强化学习(8):Asynchronous Advantage Actor-Critic(A3C)算法
查看>>
机器学习(numpy/matplotlib/scipy)学习笔记
查看>>
HTML CSS JS 特殊字符表
查看>>
codeforces The Eternal Immortality 题解
查看>>
蓝桥杯 历届试题 幸运数 (堆+DFS)
查看>>
(SDUT 2159)山东省第一届ACM省赛 Ivan comes again! (set集合综合运用)
查看>>
微信js-sdk使用简述(分享,扫码功能等)
查看>>
selenium 的介绍和爬取 jd数据
查看>>
python-selenium优化方案
查看>>
服务器 centos 系统漏洞快速修复简易方法
查看>>