ba4的介绍:

bs4是第三方提供的库,可以将网页生成一个对象,这个网页对象有一些函数和属性,可以快捷的获取网页中的内容和标签

lxml的介绍

lxml是一个文件的解释器,python自带的解释器是:html.parser

import re

from bs4 import BeautifulSoup
# 把网页生成对象的对象拿出来
soup = BeautifulSoup(open("test.html",encoding="utf8"),"lxml")
# __str__此方法作用:打印对象会把对应的字符串打印出来
# print(soup)
# 打印出来的结果是网页的标签的字符串 #方式一. 根据标签进行查找,只能知道第一个标签
ret = soup.a print(ret)
# 输出结果:是网页中的第一个标签及其里边内容,返回的是一个标签对象
# 2.获取属性和内容 print(soup.a.attrs)
# 获取a标签中的属性,返回的是一个关于属性和属性值的字典,可以根据键值形式拿取属性值 print(soup.a["href"])
# 可以如此直接获取属性的值 print(soup.a.text)
print(soup.a.string)
print(soup.a.get_text())
# 可以获取标签中的内容
# 注意:如果标签中还有标签,怎获取标签内容是获取所有标签中的内容
print(soup.div.text.replace("\t","").replace("\n",""))
# 输出内容是:将制表符,换行符替换为空字符串 # 方式二,比第二种方式更加灵活,可以加(属性限制)条件,找到指定的标签
# 返回的是一个a标签的对象
tag = soup.find("a",class_="mu")
print(tag)
# 输出内容为a标签对象。
# 注意:再根据class类进行索引标签时,要写成class_形式,不能写成class
# 原因是class在python代码中是关键字,检索时防止代码错误识别!
tag1 = soup.find("a",class_= re.compile(r"^mu"))
print(tag1)
# 注意可以进行加正则表达式对标签进行筛选 print(soup.find_all("a") )
#同find()一样拿取所有的a标签,返回的是一个含a标签对象的列表 # 方式三,(重点)soup.select(),返回的是一个关于标签对象的列表
# 适用于css的样式选择器
tagre = soup.select(".mu")
# 使用选择器进行标签的筛选
print("*"*50)
print(tagre)
# 获取标签属性的值
print(tagre[0]["href"]) # 适用选择器种类
# 标签选择器
# 属性选择器
# id选择器
# class类选择器
# 层级选择器
# 伪类选择器
# 组合选择器 # 层级选择器(重点)
# div p a 后边的节点是前边节点的子节点就可以
print(soup.select(".tang #nan")) # div>p>span 后边的节点是前边节点的直接子节点就可以
print(soup.select(".tang>ul>li")) #属性选择器(几乎不用)
print(soup.select("a[class=mu]")) # 彩蛋:方式二和方式三组合使用
# 如:
c_soup = BeautifulSoup(open("test.html",encoding="utf8"),"lxml")
tag1 = c_soup.find("div",class_="tang")
print("*"*50)
print(tag1.select(".tang a"))
												

爬虫学习(十一)——bs4基础学习的更多相关文章

  1. [学习线路] 零基础学习hadoop到上手工作线路指导(初级篇)

    about云课程最新课程Cloudera课程   零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了. ...

  2. Scala学习(一)--Scala基础学习

    Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学 ...

  3. ElasticSearch7.3学习(三十一)----Logstash基础学习

    一.Logstash基本介绍 Logstash 是一个功能强大的工具,可与各种部署集成. 它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据(文件.数据库......).logstas ...

  4. java学习路线图-----java基础学习路线图(J2SE学习路线图)

    安装JDK和开发软件跳过,网上太多了,不做总结,以下是我总结的学习路线图,欢迎补充. JAVA基础语法 注释,标识符命名规则及Java中的关键字 Java基本数据类型 Java运算符与表达式 Java ...

  5. Python学习---Django的基础学习

    django实现流程 Django学习框架:     #安装: pip3 install django          添加环境变量    #1  创建project       django-ad ...

  6. C语言学习second--C语言基础学习

    1.标准C语言 C语言诞生于20世纪70年代,年龄比我们自己还要大,期间产生了很多标准,但是各种编译器对标准的支持不尽相同. ANSI C是使用的最广泛的一个标准,也是第一个正式标准,被称为“标准C语 ...

  7. 零基础学习hadoop到上手工作线路指导(编程篇)

    问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如 ...

  8. 零基础学习hadoop到上手工作线路指导(初级篇)

    零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了.整个过程整理一下,给大家参考,欢迎讨论,共同学习. ...

  9. Django基础学习二

    今天继续学习django的基础 学习用户提交url如何获得返回值 1.首先需要在工程的urls文件定义指定的urls要路由给哪个函数 在这个例子中,我们定义home的urls路由给views里的tes ...

随机推荐

  1. (转)shell实例浅谈之产生随机数七种方法

    一.问题 Shell下有时需要使用随机数,在此总结产生随机数的方法.计算机产生的的只是“伪随机数”,不会产生绝对的随机数(是一种理想随机数).伪随机数在大量重现时也并不一定保持唯一,但一个好的伪随机产 ...

  2. php验证码处理

    //基本步骤 1,先创建一张指定宽度和高度的一张验证码图片 imagecreatetruecolor() 2,给验证码图片添加背景颜色 和文字颜色 imagecolorallocate() 3, 在指 ...

  3. Mac 安装YCM

    ① 安装Xcode的同时, 安装配套的命令行工具, 包括git, cmake, clang ② 安装Macvim, 并在~/.bashrc文件中设定别名, alias vim="/path/ ...

  4. 小程序 页面到详情的id传递

    比如电影列表页跳转到电影详情页 在movie.js获取movieId; processDoubanData: function (moviesDouban, settedKey, categoryTi ...

  5. mysql 将null转代为0(转)

    1.如果为空返回0 select ifnull(null,0) 2.如果为空返回0,否则返回1 select if(isnull(col),0,1) as col. MYSQL 中的IFNULL函数 ...

  6. hdu 1561 树形DP n个选m个价值最大

    http://acm.hust.edu.cn/vjudge/problem/18068 #include <iostream> #include <string> #inclu ...

  7. SublimeText插件 : sass语法高亮

    安装 :sublime中安装sass插件和sass build插件  就可以高亮显示sass 步骤:安装 sass插件和sass build (安装过程不细说) 步骤2:打开.sass文件,进行以下设 ...

  8. 初学:react-native 轮播图

    参考资料:http://reactscript.com/react-native-card-carousel-component/ import React, {Component} from 're ...

  9. Python3爬虫04(其他例子,如处理获取网页的内容)

    #!/usr/bin/env python# -*- coding:utf-8 -*- import osimport reimport requestsfrom bs4 import Navigab ...

  10. seattle language school & on-line degree

    http://www.kaplaninternational.com/ https://asuonline.asu.edu/online-degree-programs/ https://asuonl ...