python-bs4的使用
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的使用的更多相关文章
- Python -bs4介绍
https://cuiqingcai.com/1319.html Python -BS4详细介绍Python 在处理html方面有很多的优势,一般情况下是要先学习正则表达式的.在应用过程中有很多模块是 ...
- Python Bs4 回顾
BeautifulSoup bs4主要使用find()方法和find_all()方法来搜索文档. find()用来搜索单一数据,find_all()用来搜索多个数据 find_all()与find() ...
- python bs4 + requests4 简单爬虫
参考链接: bs4和requests的使用:https://www.cnblogs.com/baojinjin/p/6819389.html 安装pip:https://blog.csdn.net/z ...
- python bs4 BeautifulSoup
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.bs4 模块的 BeautifulSoup 配合requests库可以写简单的爬虫. 安装 命令:pip in ...
- 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 ...
- python+bs4+urllib
# -*- coding: utf-8 -*- # # # from bs4 import BeautifulSoup import urllib2 import sys reload(sys) sy ...
- 14-python登入教务网(python+bs4)
用request先得到到session对象,用其去放送请求,会自动保存cookie. 模拟有验证码的登入步骤: 1.发送请求登入页面: 2.分析验证码的地址,以及要将登入请求发往的地址(可以先输入错的 ...
- python bs4库
Beautiful Soup parses anything you give it, and does the tree traversal stuff for you. BeautifulSoup ...
- python爬虫基础要学什么,有哪些适合新手的书籍与教程?
一,爬虫基础: 首先我们应该了解爬虫是个什么东西,而不是直接去学习带有代码的内容,新手小白应该花一个小时去了解爬虫是什么,再去学习带有代码的知识,这样所带来的收获是一定比你直接去学习代码内容要多很多很 ...
- ubuntu 搭建python2.x 抓取环境
1.apt-get install python-bs4 bs4只有py2的代码,安装在py3下会很麻烦 bs4支持HTML parser,也可以支持第三方的分析器 2.apt-get install ...
随机推荐
- hdu1042-N!-(java大数)
题目:求n!(0<=n<=10000) import java.math.BigInteger;//操作大整数 import java.math.BigDecimal;//操作大小数 im ...
- MySQL可以通过phpmyadmin连接,但是无法通过SqlYog(Windows)或Sequel Pro(Mac)下进行远程连接
更改数据库密码: update user set password=passworD("sunjingyu0509!") where user='root'; flush priv ...
- maintenance
Maintenance Primitives Operator经常需要在包含Mesos集群的机器上执行维护任务. 大多数Mesos升级可以在不影响运行的任务的情况下完成,但是有些情况下维护可能会影响正 ...
- 表的转置 行转列: DECODE(Oracle) 和 CASE WHEN 的异同点
异同点 都可以对表行转列: DECODE功能上和简单Case函数比较类似,不能像Case搜索函数一样,进行更复杂的判断 在Case函数中,可以使用BETWEEN, LIKE, IS NULL, IN, ...
- linux下面设置密码失效参考
chage -E 2005-12-31 user1 设置用户口令的失效期限
- jvisual修改内存大小
jvisual(Java VisualVM)导入dump文件内存不足解决办法: 当通过jvusual调整-Xmx参数: c:/program files/java/jdk1.6/lib/visualv ...
- 启动Tomcat的小细节--MyEclipse
1.先停掉Tomcat 2.然后再Redeploy项目 3.然后再启动Tomcat. 这样的好处是 代码彻底编译
- OpenSessionInViewFilter 的配置及作用(原文地址: http://blog.csdn.net/sunsea08/article/details/4545186)
spring为我们解决hibernate的Session的关闭与开启问题. Hibernate 允许对关联对象.属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Sessio ...
- 第十一章 串 (a)ADT
- 并查集和树的一些性质 hdu1325
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1325 题意是每次输入一对数字n,m表示一条树边,并且n是m的父亲,直到n==0&&m= ...