环境安装: pip install bs4

BeautifulSoup对象实例化方式:

soup = BeautifulSoup(fp,'lxml') #本地文件创建方式,fp代表本地文件名称soup = BeautifulSoup(page_text,'lxml') #网页源码创建方式,page_text代表网络请求得到的页码源码数据

BeautifulSoup对象解析数据的三种方法:

案例文本:

<html lang="en">
<head><meta charset="UTF-8" /><title>测试bs4</title>
</head>
<body><div><p>百里守约</p></div><div class="song"><p>李清照</p><p>王安石</p><p>苏轼</p><p>柳宗元</p><a href="http://www.song.com/" title="赵匡胤" target="_self"><span>this is span</span>宋朝是最强大的王朝,不是军队的强大,而是经济很强大,国民都很有钱</a><a href="" class="du">总为浮云能蔽日,长安不见使人愁</a><img src="http://www.baidu.com/meinv.jpg" alt="" /></div><div class="tang"><ul><li><a href="http://www.baidu.com" title="qing">清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村</a></li><li><a href="http://www.163.com" title="qin">秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山</a></li><li><a href="http://www.126.com" alt="qi">岐王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君</a></li><li><a href="http://www.sina.com" class="du">杜甫</a></li><li><a href="http://www.dudu.com" class="du">杜牧</a></li><li><b>杜小月</b></li><li><i>度蜜月</i></li><li><a href="http://www.haha.com" id="feng">凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘</a></li></ul></div>
</body>
</html>

实例化BeautifulSoup对象:

from bs4 import BeautifulSoup
fp = open("./text.html",'r',encoding='utf-8')
soup = BeautifulSoup(fp,'lxml')

1.标签定位法,只会定位到第一个符合条件的标签

tag_1 = soup.title    #定位到了title标签       <title>测试bs4</title>tag_2 = soup.div      #定位到了第一个div标签   <div> <p>百里守约</p> </div>

2.属性定位法,find方法定位到符合条件的第一个标签,findAll方法定位到所有符合条件的标签

tag_3 = soup.find('div')  #定位到第一个div标签    <div><p>百里守约</p></div>tag_4 = soup.find('div',class_='song')    #定位到class名称为'song'的divtag_5 = soup.find('a',id = 'feng')      #定位到id名为'feng'的a标签tag_6 = soup.findAll('div')             #定位到所有的div

3.选择器定位法

tag_5 = soup.select('.tang > ul > li')  #定位到类名为tang的直系ul中的直系li,注意返回类型为列表tag_6 = soup.select('#feng')    #定位到id名为feng的标签tag_7 = soup.select('.tang li') #定位到类名为tang中所有的li标签

提取标签中的内容

1.提取标签中间的内容:tag.string:只可以提取到标签中直系的文本内容tag.text:可以提取到标签中所有的文本内容p_tag = soup.pprint(p_tag.string)print(p_tag.text)div_tag = soup.find('div',class_='song')print(div_tag.text)

提取标签的属性值

tag['attrName']
img_tag = soup.img
print(img_tag['src']) #提取img标签的src的属性值

Python爬虫—BeautifulSoup相关推荐

  1. Python爬虫-BeautifulSoup

    Python爬虫-BeautifulSoup Python爬虫-BeautifulSoup "美丽汤"的爱恨 使用 爱丽丝文档示例 标签 遍历 find(),findAll() 综 ...

  2. python爬虫beautifulsoup爬当当网_Python爬虫包 BeautifulSoup 递归抓取实例详解_python_脚本之家...

    Python爬虫包 BeautifulSoup  递归抓取实例详解 概要: 爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到 ...

  3. [python爬虫] BeautifulSoup设置Cookie解决网站拦截并爬取蚂蚁短租

    我们在编写Python爬虫时,有时会遇到网站拒绝访问等反爬手段,比如这么我们想爬取蚂蚁短租数据,它则会提示"当前访问疑似黑客攻击,已被网站管理员设置为拦截"提示,如下图所示.此时我 ...

  4. [python爬虫] BeautifulSoup和Selenium简单爬取知网信息测试

    作者最近在研究复杂网络和知识图谱内容,准备爬取知网论文相关信息进行分析,包括标题.摘要.出版社.年份.下载数和被引用数.作者信息等.但是在爬取知网论文时,遇到问题如下:   1.爬取内容总为空,其原因 ...

  5. [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

    这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对 ...

  6. python爬虫beautifulsoup实例-【Python实例二】BeautifulSoup爬虫简单实践

    前言 前面安装了BeautifulSoup库,现在就来实现一下吧. 目录 一.Urllib库的使用 二.BeautifulSoup的使用 三. 一个示例 ----------------------- ...

  7. python爬虫beautifulsoup爬当当网_利用python爬虫可视化分析当当网的图书数据!

    导语 这周末就分享个小爬虫吧.利用Python爬取并简单地可视化分析当当网的图书数据. 开发工具 Python版本:3.6.4 相关模块: requests模块: bs4模块: wordcloud模块 ...

  8. [python爬虫] BeautifulSoup爬取+CSV存储贵州农产品数据

    在学习使用正则表达式.BeautifulSoup技术或Selenium技术爬取网络数据过程中,通常会将爬取的数据存储至TXT文件中,前面也讲述过海量数据存储至本地MySQL数据库中,这里主要补充Bea ...

  9. python爬虫beautifulsoup实例-Python爬虫学习(二)使用Beautiful Soup库

    (一)使用Beautiful Soup库(默认将HTML转换为utf-8编码) 1,安装Beautiful Soup库:pip install beautifulsoup4 2,简单使用: impor ...

  10. 数据之路 - Python爬虫 - BeautifulSoup库

    一.BeautifulSoup介绍 Beautiful Soup就是Python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据.Beautiful Soup自动将输入文档转换为Uni ...

最新文章

  1. python的类属性和方法_Python中类属性、实例属性和实例方法的区别
  2. 电脑f2还原系统步骤_使用冰点还原电脑每次重启都会还原,打造一个百毒不侵的系统...
  3. linux history命令显示时间_每天一条Linux命令(29) more (分页显示内容)
  4. leetcode1039. 多边形三角剖分的最低得分(动态规划)
  5. 2020年有赞云生态发展白皮书
  6. 程序员的自我修养(2)——计算机网络(转) good
  7. docker 不包含依赖 打包_Docker打包深度学习项目(解决:Opencv依赖库、共享内存)...
  8. SIP中第三方呼叫控制(3PCC)建立流程
  9. css画饼状图圆形,CSS样式圆形饼图百分比
  10. 有什么软件可用于Mac系统的硬盘格式转换
  11. 华为大数据解决方案(PPT)
  12. 软件工程考研笔记整理(三小时速成)(1)
  13. 图片轮换-jQuery
  14. 汇编——dosbox的debug常用指令
  15. Python:实现jaccard similarity相似度无平方因子数算法(附完整源码)
  16. 抖音小店入驻条件及费用最新版,2022抖音开店,商家入门指南
  17. 常州大学计算机专业研究生怎么样,常州大学计算机应用技术考研经验
  18. 用python计算整数各位数字之和
  19. 关于splay的一些说明
  20. 百度AI评测:新闻摘要

热门文章

  1. 转:时域错误隐藏个人理解_Phinex的博客_雅虎博客_雅虎空间
  2. eclipse中folder、source folder、package的区别及相互转换
  3. jQuery常用插件
  4. 2022软考高项十大领域知识整理(四)-人力资源管理、干系人管理、采购管理
  5. 如何成为优秀的网络工程师,怎么做到含金量高?
  6. html动态表格用数组填充,自动填充数组中的HTML表格
  7. PHP实现站点pv,uv统计(一)
  8. forum.anywlan.com.php,一句话让您理解WDS和WISP的区别/多数WISP路由器的简单有效的通用设置方法...
  9. 海贼王剧场版:Z 剧情详解(附TS无字幕版地址)
  10. Bron-kerbosch算法-求图的最大团,极大团