爬虫:BeautifulSoup(6)--select

版权声明:欢迎转载,注明出处 https://blog.csdn.net/jklcl/article/details/82354511

Beautiful Soup中的select

Beautiful Soup中的select也是过滤器的一种,个人认为要比find_all()好用一点

find_all()的返回方式是列表,以CSDN的主页为例,探究一下select

# coding=utf-8
from bs4 import  BeautifulSoup
import requests

url = 'https://www.csdn.net/'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/61.0',
    'Referer':'https://www.csdn.net/'
}
html = requests.get(url, headers)
soup = BeautifulSoup(html.text, features='html.parser')

1.按标签查询

tag = soup.select('title');
print(tag)

#输出
#[<title>CSDN-专业IT技术社区</title>]

2.按类名查询 – 类名前加点

class_ = soup.select('.carousel-caption')
print(class_)

#输出
#class_ = soup.select('.carousel-caption')
# [<div class="carousel-caption">前端工程师凭什么这么值钱?</div>, 
# <div class="carousel-caption">让面试官颤抖的Tomcat系统架构!</div>, 
# <div class="carousel-caption">上班时间“划水”、下班时间“加班”。钱和命,孰轻孰重?</div>, 
# <div class="carousel-caption"> 面试定心丸:AI知识点备忘录(包括ML、DL、Python、Pandas等)</div>, 
# <div class="carousel-caption">Google发布“多巴胺”开源强化学习框架,三大特性全满足</div>]

3.按id查询 – id前加

html2 = '''<body>
    <p class=""><b>The Dormouse's story</b></p>
    <p class="story">
        <a href="" id="link1">link1</a>
        <a href="" id="link2">link2</a>
        <a href="" id="link3">link3</a>
    </p>
 </body>'''
soup = BeautifulSoup(html2, features='html.parser')
id = soup.select('#link1')
print(id)

#输出
#[<a href="" id="link1">link1</a>]

4.组合查询 – 父子标签间空格

rep = soup.select(".clearfix .list_con .title h2 a")
for url in rep:
    print(url.text, url.get('href'))

#输出
【观察】VMware:二十而冠,以梦为马不负韶华               https://blog.csdn.net/W5AeN4Hhx17EDo1/article/details/82186234

视频版ImageNet?快手搞了一场用户兴趣建模大赛  |  附前三名干货               https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/82186260

阿里P8十年Java架构师分享,会了这个知识点的人都去BAT了               https://blog.csdn.net/qq_41790443/article/details/82255533

5年码农+4年项目管理+目前进入安防               https://blog.csdn.net/ljsdl/article/details/82287039

硅谷版《延禧攻略》,到底哪位科技大佬才是真正的魏璎珞?               https://blog.csdn.net/kXYOnA63Ag9zqtXx0/article/details/82185958

搭建个人博客               https://blog.csdn.net/lirenzuo/article/details/82291760

 成为一名阿里P7Java架构师到底要学习什么?               https://blog.csdn.net/yupi1057/article/details/82257066

程序员辞职理由:不适合上班!老板:你来,坐我这里。               https://blog.csdn.net/weixin_40876133/article/details/82219262

三天打渔两天晒网   C++基本功能实现               https://blog.csdn.net/asd1508010219/article/details/82289810

认真学,JVM内存模型               https://blog.csdn.net/J080624/article/details/82109357

区块链之科普篇               https://blog.csdn.net/renzhff/article/details/81182514

Linux就该这么学笔记               https://blog.csdn.net/sinat_23880167/article/details/82250814

年薪80w的阿里P7专家,顶尖的技术人才,只因做到了这几点               https://blog.csdn.net/qq_41790443/article/details/82220637

2019届华为笔试题(软件卷)               https://blog.csdn.net/Beyond_2016/article/details/82220196

区块链DAG(有向无环图)技术               https://blog.csdn.net/akai9898/article/details/82289383

C++菱形继承内存布局的探索               https://blog.csdn.net/houzijushi/article/details/82078595

JAVA笔记自整理(Java)               https://blog.csdn.net/weixin_42449711/article/details/82284737

web前端的学习路线 及web前端应该掌握什么知识               https://blog.csdn.net/weixin_43112070/article/details/82288700

 看技术书籍坚持不下来的,看这里,记录增量学习法               https://blog.csdn.net/u012755393/article/details/82256220

Spring之静态工厂               https://blog.csdn.net/qq_37606901/article/details/82258624

猜你喜欢

转载自blog.csdn.net/jklcl/article/details/82354511