BeautifulSoup4

官方文档

  是一个Python库,用于从HTML和XML文件中提取数据。它与您最喜欢的解析器一起使用,提供导航,搜索和修改解析树的惯用方法。它通常可以节省程序员数小时或数天的工作量。

1.安装BeautifulSoup4

pip install bs4

2.详细操作

from bs4 import BeautifulSoup
from urllib import request
#获取网页内容
base_url = 'http://langlang2017.com/route.html'
response = request.urlopen(base_url)
html = response.read() #数据解析(从页面当中提取数据)
#创建bs4对象
soup = BeautifulSoup(html,'lxml')
#格式化输出对象中的内容
content = soup.prettify() #提取页面当中的指定内容
# print(soup.title) #获取title内容 #一 只能匹配到第一个标签内容
#1.tag(name)
# print(soup.name) #输出文档类型
# print(soup.div.name) #输出标签名
#2attrs
# print(soup.title.attrs)
# print(soup.img.attrs) #3修改属性值
img = soup.img.attrs
# print(img)
domain = 'http://www.langlang2017.com'
img["src"] = domain+ img["src"]
# print(img) #4删除
img= soup.img.attrs
# print(img)
del img["alt"]
# print(img) #二
#1获取文本
# print(soup.title)
# print(soup.title.attrs)
# print(soup.title.name)
#格式:标签名.string
# print(soup.title.string) #三 标签名.contents 获取子节点列表
head = soup.head.contents
# print(head)
# print(head[3]) #标签名.children --子节点
head_children = soup.head.children
# for i in head_children:
# print(i) #便签名.descendants --子孙节点
# print(soup.div)
# for i in soup.div.descendants:
# print(i) #搜索文档 find_all()
# print(soup.meta) #只能获取一个
# for i in soup.find_all('meta'):
# print(i) #标签列表
# print(soup.find_all(["h1","h2"])) #关键词
# print(soup.find_all(id='weixin')) #四 css选择器 soup.select()
#通过类名查找
# print(soup.select('.logo'))
#通过标签名查找
# print(soup.select('a'))
#通过id查找
# print(soup.select('#weixin'))

3.注意:运行报错

bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need 

解决:安装 lxml包 

pip install lxml

python-bs4的使用的更多相关文章

  1. Python -bs4介绍

    https://cuiqingcai.com/1319.html Python -BS4详细介绍Python 在处理html方面有很多的优势,一般情况下是要先学习正则表达式的.在应用过程中有很多模块是 ...

  2. Python Bs4 回顾

    BeautifulSoup bs4主要使用find()方法和find_all()方法来搜索文档. find()用来搜索单一数据,find_all()用来搜索多个数据 find_all()与find() ...

  3. python bs4 + requests4 简单爬虫

    参考链接: bs4和requests的使用:https://www.cnblogs.com/baojinjin/p/6819389.html 安装pip:https://blog.csdn.net/z ...

  4. python bs4 BeautifulSoup

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.bs4 模块的 BeautifulSoup 配合requests库可以写简单的爬虫. 安装 命令:pip in ...

  5. python bs4解析网页时 bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to inst(转)

    Python小白,学习时候用到bs4解析网站,报错 bs4.FeatureNotFound: Couldn't find a tree builder with the features you re ...

  6. python+bs4+urllib

    # -*- coding: utf-8 -*- # # # from bs4 import BeautifulSoup import urllib2 import sys reload(sys) sy ...

  7. 14-python登入教务网(python+bs4)

    用request先得到到session对象,用其去放送请求,会自动保存cookie. 模拟有验证码的登入步骤: 1.发送请求登入页面: 2.分析验证码的地址,以及要将登入请求发往的地址(可以先输入错的 ...

  8. python bs4库

    Beautiful Soup parses anything you give it, and does the tree traversal stuff for you. BeautifulSoup ...

  9. python爬虫基础要学什么,有哪些适合新手的书籍与教程?

    一,爬虫基础: 首先我们应该了解爬虫是个什么东西,而不是直接去学习带有代码的内容,新手小白应该花一个小时去了解爬虫是什么,再去学习带有代码的知识,这样所带来的收获是一定比你直接去学习代码内容要多很多很 ...

  10. ubuntu 搭建python2.x 抓取环境

    1.apt-get install python-bs4 bs4只有py2的代码,安装在py3下会很麻烦 bs4支持HTML parser,也可以支持第三方的分析器 2.apt-get install ...

随机推荐

  1. &符号 (弃用引用传参了,不要用!!)

    写法一 $age = function grow($age) { $age += ; return $age; } echo grow($age) echo $age 写法二 $age = funct ...

  2. SPSS-因子分析

    因子分析 有可能用较少的综合指标分析存在于各变量中的各类信息,而各综合指标之间彼此是不相关的,代表各类信息的综合指标称为因子.定义:因子分析就是用少数几个因子来描述许多指标或因素之间的联系,以较少几个 ...

  3. 详解MySQL数据表类型

    学习Mysql数据库,Mysql表类型都有哪些是一定需要知道的,下面就为您介绍七种Mysql表类型,希望能对您学习Mysql表类型有所帮助. MySQL作为当前最为流行的免费数据库服务引擎,已经风靡了 ...

  4. java NIO 文章

    http://tutorials.jenkov.com/java-nio/ 总结nio nio是非阻塞的,一个线程可以管多个Channel,每个channel可以处理bytebuffer 而no是阻塞 ...

  5. linux基本之一

    1.目录棉集 / 根目录,理论上讲系统中的一切都属于他. /bin 存放所有用户都能执行的命令(二进制) /boot 存放启动文件/内核的相关文件,一般独立成为一个分区. /dev 存放物理设备的目录 ...

  6. maven 配置 阿里仓库

    <mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>N ...

  7. centos 6.x系统升级glibc库至2.15版本的快速解决办法

    CentOS 6.x系统升级glibc库至2.15版本的快速解决办法  1.先确保相关软件包已经安装 yum install -y glibc yum install -y glibc-common ...

  8. Object.MemberwiseClone

    [Object.MemberwiseClone] Creates a shallow copy of the current Object. protected object MemberwiseCl ...

  9. Vi命令:如何删除全部内容

    Vi命令:如何删除全部内容? 在命令模式下,输入:.,$d 一回车就全没了. 表示从当前行到末行全部删除掉. 用gg表示移动到首行.

  10. Jenkins 传递自定义的参数

    1.同一个job之间,不同的shell之间传递参数 注意:如果是job参数化构建自定义的参数,可以在job的不同shellj间引用,但是不能改变他的值供后面的shell使用   job在执行时会针对所 ...