python3爬虫获取html内容及各属性值的方法


Posted in Python onDecember 17, 2018

今天用到BeautifulSoup解析爬下来的网页数据

首先导入包from bs4 import BeautifulSoup

然后可以利用urllib请求数据

记得要导包

import urllib.request

然后调用urlopen,读取数据

f=urllib.request.urlopen(‘http://jingyan.baidu.com/article/455a9950bc94b8a166277898.html‘) 
response=f.read()

这里我们就不请求数据了,直接用本地的html代码,如下

注意:”'xxx”'是多行注释

#python3
from bs4 import BeautifulSoup
html='''<html>
<head>
 <title class='ceshi'>super 哈哈 star</title>
</head>
<body>
 天下第一帅
 <p class='sister'>

  是不是
 </p>
</body>
</html>'''
#用BeautifulSoup解析数据 python3 必须传入参数二'html.parser' 得到一个对象,接下来获取对象的相关属性
html=BeautifulSoup(html,'html.parser')
# 读取title内容
print(html.title)
# 读取title属性
attrs=html.title.attrs
print(attrs)
# 获取属性attrs['class'] ---->['ceshi'] 这是一个list 通过下标可以获取值
print(attrs['class'][0])
# 读取body
print(html.body)
读取数据还可以通过BeautifulSoup的select方法
html.select()
#按标签名查找 
soup.select('title')
soup.select('body')
# 按类名查找
soup.select('.sister')
# 按id名查找
# p标签中id为link的标签
soup.select('p #link')
#取标签里面的值
soup.p.string
#取标签里属性值 通过href获取
html['href']

以上这篇python3爬虫获取html内容及各属性值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的高级函数map/reduce使用实例
Apr 13 Python
Ubuntu下安装PyV8
Mar 13 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
python 除法保留两位小数点的方法
Jul 16 Python
Python爬虫之正则表达式的使用教程详解
Oct 25 Python
Python数据类型之Tuple元组实例详解
May 08 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
django-crontab实现服务端的定时任务的示例代码
Feb 17 Python
Python创建临时文件和文件夹
Aug 05 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 #Python
python实现三次样条插值
Dec 17 #Python
Python命名空间的本质和加载顺序
Dec 17 #Python
对python的unittest架构公共参数token提取方法详解
Dec 17 #Python
Python单元测试unittest的具体使用示例
Dec 17 #Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 #Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 #Python
You might like
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
php防盗链的常用方法小结
2010/07/02 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
列表内容的选择
2006/06/30 Javascript
让你的网站可编辑的实现js代码
2009/10/19 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
js实现简单选项卡功能
2020/03/23 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
python简单区块链模拟详解
2019/07/03 Python
Python获取时间戳代码实例
2019/09/24 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
python网络编程之五子棋游戏
2020/05/14 Python
区域销售经理岗位职责
2013/12/10 职场文书
秋季运动会表扬稿
2014/01/16 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
大学生演讲稿
2014/04/25 职场文书
环境保护建议书
2014/08/26 职场文书
土建技术员岗位职责
2015/04/11 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
深入理解python多线程编程
2021/04/18 Python
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle