使用BeautifulSoup
下载bs4,导入BeautifulSoup
pip install bs4
from bs4 import BeautifulSoup
BeautifulSoup 的使用
- 创建对象
r = requests.get(url)
sp = BeautifulSoup(r.text,"html.parser")
2、属性参考
| 属性或方法 | 说明 |
|---|---|
| title | 返回网页的标题 |
| text | 返回去除所有HTML标签后的网页内容 |
| find() | 返回第一个符合条件的标签。例如:sp.find('a') |
| find_all() | 返回所有符合条件的标签。 例如:sp.find_all('a') |
| select() | 如果参数为标签名,返回结果与find_all()方法相同。除了用标签名作为参数外,本方法还可以使用CSS样式表(id属性或class属性)作为参数。例如:sp.select('#id'), sp.select('.class') |
3、抓取属性内容
get(属性名称)
data1 = sp.find('a',{'id':'link1'})
print(data1.get('href')) #返回href的值
例如:
import requests
from bs4 import BeautifulSoup
url = "http://www.pm25x.com/"
r = requests.get(url=url)
#print(r.text)
b = BeautifulSoup(r.text, "html.parser")
city = b.find("a", {"title": "北京PM2.5"})
href = city.get("href")
url2 = url + href
#print(href)
r2 = requests.get(url=url2)
sp = BeautifulSoup(r2.text, "html.parser")
data1 = sp.select(".aqivalue")
print(data1)
pm25 = data1[0].text
print(pm25)
使用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元素的列表 ...
随机推荐
- 小tips:使用rem+vw实现简单的移动端适配
首先设置meta属性,如下代码: <meta name="viewport" content="width=device-width, initial-scale= ...
- Numpy库的学习(二)
今天来继续学习一下Numpy库的使用 接着昨天的内容继续 在Numpy中,我们如果想要进行一个判断使用“==” 我们来看下面的代码 vector = np.array([5,10,15,20,25]) ...
- Git源代码管理
一. 分支管理 使用 git 进行源代码管理,一般将某个项目的所有分支分为以下几条主线 1. Master 顾名思义,既然名字叫 Master ,那么该分支就是主分支的意思. master 分支永远是 ...
- go打造以太坊合约测试框架
传送门: 柏链项目学院 1 以太坊智能合约编译 以太坊智能合约编写使用solidity语言,一般情况下我们会在remix环境下进行编译测试,在线环境相对比较稳定.如果不想用在线环境,那我们就需要自己动 ...
- Linux(CentOS7)设置开放端口
查看已经开放的端口:firewall-cmd --list-ports 开启端口: firewall-cmd --zone=public --add-port=端口号/tcp --permanent ...
- 毕业设计(3)基于MicroPython的篮球计时计分器模型的设计与实现
前言 我们身边有不少人都喜欢看篮球比赛或者经常打篮球.说起篮球,肯定要提到NBA(美国职业篮球联赛),现在也正是NBA 18-19赛季常规赛的时候.最近3月5日,韦少22分帮助雷霆终结了四连败,哈登4 ...
- Java中数组和集合的foreach操作编译后究竟是啥
今天和同事在关于foreach编译后是for循环还是迭代器有了不同意见,特做了个Demo,了解一下. 是啥自己来看吧! public class Demo { public static void m ...
- DRF缓存
对于现在的动态网站来讲,所有的界面展示都是通过客户端请求服务端,服务端再去请求数据库,然后将请求到的数据渲染后返回给客户端.用户每次访问页面都需要去请求数据库,如果同时有多个人访问的话,对于我们的数据 ...
- javascript错误信息
ECMA-262 定义了下列 7 种错误类型: TypeError 类型错误 ReferenceError 引用错误 SyntaxError 语法错误 Error 错误 EvalError 全局错误 ...
- IP防护等级简介
IP(INGRESS PROTECTION)防护等级系统是由IEC(INTERNATIONAL ELECTROTECHNICAL COMMISSION)所起草,将电器依其防尘防湿气之特性加以分级 IP ...