python 之 BeautifulSoup标签查找与信息提取
一、 查找a标签
(1)查找所有a标签
>>> for x in soup.find_all('a'):
    print(x)
<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>
<a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>
<a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>
(2)查找所有a标签,且属性值href中需要保护关键字“”
>>> for x in soup.find_all('a',href = re.compile('lacie')):
    print(x)
<a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>
(3)查找所有a标签,且字符串内容包含关键字“Elsie”
>>> for x in soup.find_all('a',string = re.compile('Elsie')):
    print(x)
<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>
(4)查找body标签的所有子标签,并循环打印输出
>>> for x in soup.find('body').children:
    if isinstance(x,bs4.element.Tag):        #使用isinstance过滤掉空行内容
        print(x)
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
<a class="sister" href="http://example.com/lacie" id="link2">Lacie</a> and
<a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>
二、信息提取(链接提取)
(1)解析信息标签结构,查找所有a标签,并提取每个a标签中href属性的值(即链接),然后存在空列表;
>>> linklist = []
>>> for x in soup.find_all('a'):
link = x.get('href')
if link:
linklist.append(link) >>> for x in linklist: #验证:环打印出linklist列表中的链接
print(x) http://example.com/elsie
http://example.com/lacie
http://example.com/tillie
小结:链接提取 <---> 属性内容提取 <---> x.get('href')
(2)解析信息标签结构,查找所有a标签,且每个a标签中href中包含关键字“elsie”,然后存入空列表中;
>>> linklst = []
>>> for x in soup.find_all('a', href = re.compile('elsie')):
link = x.get('href')
if link:
linklst.append(link) >>> for x in linklst: #验证:循环打印出linklist列表中的链接
print(x) http://example.com/elsie
小结:在进行a标签查找时,加入了对属性值href内容的正则匹配内容 <---> href = re.compile('elsie')
(3)解析信息标签结构,查询所有a标签,然后输出所有标签中的“字符串”内容;
>>> for x in soup.find_all('a'):
    string = x.get_text()
    print(string)
Elsie
Lacie
Tillie
python 之 BeautifulSoup标签查找与信息提取的更多相关文章
- python之BeautifulSoup库
		
1. BeautifulSoup库简介 和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据.lxml 只会局部遍历 ...
 - 爬虫之标签查找补充及selenium模块的安装及使用与案例
		
今日内容概要 bs模块之标签查找 过滤器 selenium模块 今日内容详细 html_doc = """ <html> <head> <t ...
 - Python实例---beautifulsoup小Demo
		
豆瓣 # coding:utf - 8 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen( ...
 - Python和BeautifulSoup进行网页爬取
		
在大数据.人工智能时代,我们通常需要从网站中收集我们所需的数据,网络信息的爬取技术已经成为多个行业所需的技能之一.而Python则是目前数据科学项目中最常用的编程语言之一.使用Python与Beaut ...
 - Python Download Image (python + requests + BeautifulSoup)
		
环境准备 1 python + requests + BeautifulSoup 页面准备 主页面: http://www.netbian.com/dongman/ 图片伪地址: http://www ...
 - 搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台
		
搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台 By 子敬叔叔 最近在学习麦好的<机器学习实践指南案例应用解析第二版>,在安装学习环境的时候 ...
 - Python配合BeautifulSoup读取网络图片并保存在本地
		
本例为Python配合BeautifulSoup读取网络图片,并保存在本地. BeautifulSoup可代替正则表达式,更好地解析Html文本,获取其中的指定内容,如Tag.Property等 # ...
 - python glob 用通配符查找指定目录中的文件 - 开源中国社区
		
python glob 用通配符查找指定目录中的文件 - 开源中国社区 python glob 用通配符查找指定目录中的文件
 - python scrapy,beautifulsoup,regex,sgmparser,request,connection
		
In [2]: import requests In [3]: s = requests.Session() In [4]: s.headers 如果你是爬虫相关的业务?抓取的网站还各种各样, ...
 
随机推荐
- 洛谷 P3233 [HNOI2014]世界树(虚树+dp)
			
题面 luogu 题解 数据范围已经告诉我们是虚树了,考虑如何在虚树上面\(dp\) 以下摘自hzwer博客: 构建虚树以后两遍dp处理出虚树上每个点最近的议事处 然后枚举虚树上每一条边,考虑其对两端 ...
 - CH2401 送礼物 双向搜索
			
双向搜索:把前一半的可行状态搜出来,然后sort+unique,之后搜后一半时,结束时二分一下前一半的答案,拼出一个与W尽量接近的ans来更新 ps:距LYD说前一半取n/2+2时跑的最快...不知, ...
 - Week 3: Structured Types   5. Tuples and Lists   Exercise: odd tuples
			
Exercise: odd tuples 5/5 points (graded) ESTIMATED TIME TO COMPLETE: 5 minutes Write a procedure cal ...
 - new Date("2018-01-01 11:11:11").valueOf() 在IE下会返回 NaN
			
原因是在ie下 new Date不能处理 小横线 这种时间格式,但是 替换成 斜线就可以正常获得毫秒数,像下面这样: new Date(('2018-01-01 11:11:11').replace( ...
 - setlocal enabledelayedexpansion 解释
			
看字面的意思是:设置本地为延迟扩展.其实也就是:延迟变量,全称"延迟环境变量扩展", 在cmd执行命令前会对脚本进行预处理,其中有一个过程是变量识别过程,在这个过程中,如果有两个% ...
 - C# Autofac 的 BeanFactory
			
using Autofac; using Microsoft.Practices.ServiceLocation; namespace Core.Common { /// <summary> ...
 - python 学习笔记二_列表
			
python不需要声明类型信息,因为Python的变量标识符没有类型. 在Python中创建一个列表时,解释器会在内存中创建一个类似数组的数据结构类存储数据,数据项自下而上堆放(形成一个堆栈).索引从 ...
 - 智能手表ticwatch穿戴体验
			
前言 可穿戴设备近几年越来越火,最开始是谷歌眼睛.手环,再到手表.VR眼镜,相信未来几年这片领域依旧火热~ 自从谷歌发布Android Wear.苹果发布Apple Watch之后,智能手表的战役就正 ...
 - MySQL查询长数据是无值返回(可以尝试换行符)
			
如,要在数据库中包含这样数据的记录有多少条: <table class="link-more-blue" style="width: 100%;" bor ...
 - Pygame 加载音频
			
Python Learning:Pygame 加载音频 Python 中自带的 winsound 模块 winsound 模块中 Beep 方法可以调用系统的蜂鸣器,接受一个为 frequency 的 ...