BeautifulSoup的基本使用
一、将一段文档传入BeautifulSoup的构造方法,得到一个文档的对象:
from bs4 import BeautifulSoup
Soup = BeautifulSoup(html_doc)
二、Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment:
- Tag:和HTML原生文档中的tag相同,有很多的方法和属性。可以通过tag['属性']或tag.属性获得对应的属性值。
- NavigableString:使用Soup.string获得标签内的字符串,该字符串的类型就是NavigableString(可遍历的字符串)
- BeautifulSoup:暂时不理解这是干嘛的。
- Comment:是一个特殊类型的NavigableString对象,针对HTML文档的注释部分使用特殊的格式进行输出
三、爬虫主要使用的是CSS选择器这个功能,获取文档中需要的信息部分:
- 通过标签查找:
Title = Soup.select("title")
#通过tag标签逐层查找
Title = Soup.select("html body title")
#通过某个tag标签下的直接子标签查找
Title = Soup.select("head > title") - 通过CSS类名进行查找:
Sister = Soup.select(".sister") - 通过id进行查找:
Link = Soup.select("#link") - 通过属性值来查找:
Href = Soup.select('a[href="http://example.com/elise"]')
BeautifulSoup的基本使用的更多相关文章
- Python爬虫小白入门(三)BeautifulSoup库
# 一.前言 *** 上一篇演示了如何使用requests模块向网站发送http请求,获取到网页的HTML数据.这篇来演示如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据. ...
- 使用beautifulsoup与requests爬取数据
1.安装需要的库 bs4 beautifulSoup requests lxml如果使用mongodb存取数据,安装一下pymongo插件 2.常见问题 1> lxml安装问题 如果遇到lxm ...
- BeautifulSoup :功能使用
# -*- coding: utf-8 -*- ''' # Author : Solomon Xie # Usage : 测试BeautifulSoup一些用法及容易出bug的地方 # Envirom ...
- BeautifulSoup研究一
BeautifulSoup的文档见 https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ 其中.contents 会将换行也记录为一个子节 ...
- BeautifulSoup
参考:http://www.freebuf.com/news/special/96763.html 相关资料:http://www.jb51.net/article/65287.htm 1.Pytho ...
- BeautifulSoup Some characters could not be decoded, and were replaced with REPLACEMENT CHARACTER.
BeautifulSoup很赞的东西 最近出现一个问题:Python 3.3 soup=BeautifulSoup(urllib.request.urlopen(url_path),"htm ...
- beautifulSoup(1)
import re from bs4 import BeautifulSoupdoc = ['<html><head><title>Page title</t ...
- python BeautifulSoup模块的简要介绍
常用介绍: pip install beautifulsoup4 # 安装模块 from bs4 import BeautifulSoup # 导入模块 soup = BeautifulSoup(ht ...
- BeautifulSoup 的用法
转自:http://cuiqingcai.com/1319.html Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python ...
- BeautifulSoup的选择器
用BeautifulSoup查找指定标签(元素)的时候,有几种方法: soup=BeautifulSoup(html) 1.soup.find_all(tagName),返回一个指定Tag元素的列表 ...
随机推荐
- 2018 IEEE极限编程大赛 题解
去年742,今年72,也算一种小小的进步. 明年前30(笑 1. Drawing Rooted Binary Trees 给定一个树的中序和前序的遍历,要求输出这棵树(包括空格的) #include ...
- 怎么利用 ChromeDriver 和 Selenium对 CEF应用进行自动化测试-java实现
Overview ChromeDriver and Selenium are tools for automated testing of Chromium-based applications. T ...
- 剑指offer-面试题19-正则表达式匹配-字符串
/* 题目: 实现一个函数用来匹配包含'.'和'*'的正则表达式. '.'表示比配任意字符,‘*’表示匹配0个或多个字符串. */ /* 思路: 采用递归的方法. 基础条件:当字符串和模式串存在空的情 ...
- css揭秘 一
当某些值相互依赖是,应该把它们的相互关系用代码表达出来 font-size: 20px; line-height: 1.5; // 行高是字体的1.5倍 当改变某个参数时候,做到只改尽量少的地方,最好 ...
- puthon 字典的 .update() 方法
1.可以直接更新字典 2.也可以用等号连接,更新一个可迭代对象.
- sql-labs 18-20(sqlmap注入)
这三题主要是关于HTTP头部的注入 常见的HTTP注入点产生位置为 [Referer].[X-Forwarded-For].[Cookie].[X-Real-IP].[Accept-Language] ...
- spark之RDD练习
目录 一.基础练习 练习一:翻倍列表中的数值并排序列表,并选出其中大于等于10的元素. 练习二:将字符数组里面的每一个元素先切分在压平. 练习三:求两个列表中的交集.并集.及去重后的结果 练习四:对L ...
- Ioc依赖注入:Unity4.0.1 在项目中的应用 (MVC和API)
使用Unity的好处网上有很多,百度一下即可 这里引用了一篇关于面向接口编程的好处的文章作为引申:https://blog.csdn.net/Cyy19970527/article/details/8 ...
- Dubbo之服务消费
Dubbo的服务消费主要包括两个部分.第一大步是ReferenceConfig类的init方法调用Protocol的refer方法生成Invoker实例,这是服务消息的关键.第二大步是把Invoker ...
- Mysql-从库只读设置
主从设置中,如果从库在my.cnf中使用init_connect来限制只读权限的话,从库使用非超级用户(super权限)登陆数据时,无法进行任何操作,仅可维持主从复制. init_connect='S ...