Mooc爬虫03-BeautifulSoup

1 基本信息

  Beautiful Soup是用于处理解析页面信息的

  具体的说, Beautiful Soup库是解析, 遍历, 维护"标签树"的功能库

  安装方法

pip install beautifulsoup4

  最基本的使用

import requests
from bs4 import BeautifulSoup

r = requests.get("http://www.baidu.com")
soup = BeautifulSoup(r.content, ‘html.parser‘)
print(soup.prettify())

2 基本元素  

  Beautiful Soup处理的内容文档一般是HTML页面

    HTML页面是标签对形成的

    这些标签对最终会形成标签树, 这些标签树实际上是Beautiful Soup类

    也就是 HTML文档<---->标签树<---->Beautiful Soup类

  Beautiful Soup的解析器

    

    最主要的还是是用 html.parser解析器

  Beautiful Soup类的基本元素

    

    使用方法如下:

    1) Tag标签

      使用方法

BS对象.标签名字      
soup.a
soup.title

      其中如果该标签在页面存在多个, 那么只返回第一个

    2) name

      使用方法

BS对象.标签名字.name

    3) attrs

      使用方法

      其中attrs获得的是一个字典类型的值

      通过属性名字得到的就是列表类型

BS对象.标签名字.attrs
BS对象.标签名字.attrs[‘某个属性的名字‘]
soup.a.sttrs
soup.a.attrs[‘class‘]

    4) NavigableString

      表示的是标签内非属性的字符串, 使用如下

      其中string如果该标签内存在别的标签嵌套, 获得的就是嵌套内部的string

      因此, NavigableString可以跨越多个层次

BS对象.标签名字.string

    5) Comment

      标签内注释部分

      获取方法和NavigableString相同, 都是通过string来获得

3 标签树的遍历

  遍历分为 下行遍历, 上行遍历, 平行遍历

  上行遍历的主要有: contents, children, descendants

    其中contens获得的是标签的所有内容

    children或的是contents的具体的列表, 其中‘\n‘会被当做一个元素

    descendantschildren都是生成器, descendants会逐步往下遍历打印出所有子孙节点

  上行遍历主要有: parent, parents

    parent获得的是父亲节点, 获得的父亲节点包括该节点内的所有内容, 是一个很丰富的节点

    parents是一个生成器, 倒数第二个是<html>标签. 最后一个是整个文档

  平行遍历主要有: next_sibling, previous_sibling, next_siblings, previous_siblings

     注意: 平行是指的在一个父节点下的子节点间的

    

      

    

    

  

  

时间: 2024-09-30 10:47:08

Mooc爬虫03-BeautifulSoup的相关文章

爬虫模块BeautifulSoup

中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html# 1.1      安装BeautifulSoup模块和解析器 1)         安装BeautifulSoup pip install beautifulsoup4 2)         安装解析器 pip install lxml pip install html5lib 1.2      对象种类 Tag :   标签对象,如:<p clas

Python 爬虫—— requests BeautifulSoup

本文记录下用来爬虫主要使用的两个库.第一个是requests,用这个库能很方便的下载网页,不用标准库里面各种urllib:第二个BeautifulSoup用来解析网页,不然自己用正则的话很烦. requests使用,1直接使用库内提供的get.post等函数,在比简单的情况下使用,2利用session,session能保存cookiees信息,方便的自定义request header,可以进行登陆操作. BeautifulSoup使用,先将requests得到的html生成BeautifulSo

python3: 爬虫---- urllib, beautifulsoup

最近晚上学习爬虫,首先从基本的开始: python3 将urllib,urllib2集成到urllib中了, urllib可以对指定的网页进行请求下载,  beautifulsoup 可以从杂乱的html代码中 分离出我们需要的部分: 注:  beautifulsoup 是一种可以从html 或XML文件中提取数据的python库: 实例1: from urllib import request from bs4 import BeautifulSoup as bs import re head

python 爬虫 requests+BeautifulSoup 爬取巨潮资讯公司概况代码实例

第一次写一个算是比较完整的爬虫,自我感觉极差啊,代码low,效率差,也没有保存到本地文件或者数据库,强行使用了一波多线程导致数据顺序发生了变化... 贴在这里,引以为戒吧. # -*- coding: utf-8 -*- """ Created on Wed Jul 18 21:41:34 2018 @author: brave-man blog: http://www.cnblogs.com/zrmw/ """ import requests

Mooc爬虫05-scrapy框架

1 scrapy框架的介绍 安装 pip install scrapy 查看是否安装完成 scrapy ‐h scrapy框架是实现爬虫功能的一个软件结构和功能组件集合 scrapy爬虫框架的结构

python爬虫之BeautifulSoup

Beautiful Soup,字面意思是美好的汤,是一个用于解析HTML文件的Python库 windows下载和安装 在Windows下面如何安装Beautiful Soup: 1.到http://www.crummy.com/software/BeautifulSoup/网站上上下载 2.下载完成之后需要解压缩,假设放到D:/python下. 3.运行cmd,切换到D:/python/beautifulsoup4-4.1.3/目录下(根据自己解压缩后的目录和下载的版本号修改), cd /d

Mooc爬虫01-request库

1 安装 pip install requests 2 主要的方法 requests.request() 支撑所有的基础方法 requests.get() requests.head() requests.post() requests.put() requests.patch() requests.delete() 3 Get方法 r = requests.get(URL) r是一个Response对象, 包含爬虫返回的内容 URL的Request requests.get(url, para

爬虫必备—BeautifulSoup

BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后便可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单. 1 from bs4 import BeautifulSoup 2 3 html_doc = """ 4 <html><head><title>The Dormouse's story</title></head> 5

爬虫之BeautifulSoup, CSS

1. Beautiful Soup的简介 2. Beautiful Soup 安装 可以利用 pip 或者 easy_install 来安装,以下两种方法均可 easy_install beautifulsoup4 pip install beautifulsoup4 Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python 会使用 Python默认的解析器,lxml 解析器更加强大,速度更快,推荐安装. Python标准