首页 > 其他分享 >8、爬虫-beatifulsoup-bs4

8、爬虫-beatifulsoup-bs4

时间:2024-07-01 22:33:26浏览次数:20  
标签:title bs4 text 爬虫 html beatifulsoup find 属性

 

beatifulsoup的概念:Beautiful Soup就是Python的一个HTML或XML的解析库,可以用它方便地提取页面的数据。

 

 

1、安装bs4:pip install bs4

2、使用:from bs4 import BeautifulSoup

3、创建对象:BeautifulSoup(文本,“html.parser”)  #html.parser 告诉解析器这是个html文本

4、bs4只有两个功能函数:

  find(标签名,属性=值)    #只找第一个  、属性=值可不写

  find_all(标签名,属性=值)  #查找所有

  .text表示取被标签标记的内容 :如 <h1>被标记的内容</h1>

  .get(属性)  #可以拿到属性的值  如:<a href=http://xxxx>xxxx</a>     .get("href")  既可以取到http://xxxx

 

5、案例:取到视频的标题

"""
查找视频名称
"""

import requests
from bs4 import BeautifulSoup

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
url="https://www.xinpianchang.com/discover/article-69-0?utm_source=xpcWeb&utm_medium=navigatorCate&index=13"
response = requests.get(url,headers=headers)

#print(response.text)


#创建bs4对象
page = BeautifulSoup(response.text,"html.parser")  #指定bs4解析器、html.parser告诉解析器这是一个html文本

#从拿到的文本中提取数据、通过标签和属性取值
#title = page.find_all("h2", class_="truncate block")    #这里属性class_ 这样写是因为、再python中class是关键字 、也可以这样写:如下
titles = page.find_all("h2", attrs={"class": "truncate block"}) #等同于上面的
#拿到这个数据<h2 class="truncate block" title="抖音年度动画短片《鼠国列车》:这个世界的一切竟然都是复制粘贴的?">抖音年度动画短片《鼠国列车》:这个世界的一切竟然都是复制粘贴的?</h2>

#print(title.text)

for title in titles:
    print(title.text)

标签:title,bs4,text,爬虫,html,beatifulsoup,find,属性
From: https://www.cnblogs.com/littlecc/p/17953449

相关文章

  • 10、爬虫-requests的使用-session()、防盗链
    #会话-cookie的使用requests.session()"""先登录网站、找到llogin相关的url得到cookie、拿到formatData中的信息带着cookie去请求url使用cookie去访问(session-会话)该网站其它内容的时候都会带着cookie"""importrequests#创建会话session=requests.session()#用户......
  • 9、爬虫-xpath-selenium爬取网页隐藏元素
    安装:pipinstalllxml1、导入:fromlxmlimportetree2、创建对象:  tree=etree.XML(xml文件)  tree=etree.HTML(html文件)  等3、找标签:  tree.xpath("//book/name/text()")4、语法:  text()表示取节点标记的文字  tree.xpath("//book/publisher[3]/text()......
  • 13、爬虫-协程-asyncio和异步操作-aiohttp
    概念:当程序sleep或者input、output等待的时候、cpu是处于堵塞状态的、cpu此时是不再为我们的代码服务的、所以协程就是当遇到了前面这种情况的时候可以选择性的切换到其他任务上 同步协程:asyncio当程序在睡眠的时候注意加上:awaitasyncio.sleep(2)"""多任务协程asyncio......
  • 14、爬虫-异步协程爬取西游记小说-aiohttp-aiofiles
     注意:有关所有的IO操作都要加上:await挂起 """https://dushu.baidu.com/pc/detail?gid=4306063500#小说网站https://dushu.baidu.com/api/pc/getCatalog?data={%22book_id%22:%224306063500%22}#可以拿到每个章节的bookid、cid(每个章节的id)、这里%22相当于"号htt......
  • python教程---网络爬虫
    7.1urllibUrllib是Python内置的一个用于读取来自Web的数据的库。它是一个请求库,可以用来发送HTTP请求,获取网页内容,支持多种HTTP方法,如GET和POST等。使用Urllib读取网页内容的步骤如下:导入Urllib库中的request模块。importurllib.request使用urlopen()函数发送HTTP请求,......
  • 术业有专攻,不要用原生 http 库自己写爬虫!
    术业有专攻,不要用原生http库自己写爬虫!网管叨bi叨 2024-06-0509:27 北京 3人听过 以下文章来源于凉凉的知识库 ,作者凉凉的知识库凉凉的知识库.凉凉的知识库,带你学点后端必备知识有些人可能认为爬虫框架和httpclient库的功能一样,用httpclient库也可以写......
  • 为什么网络爬虫广泛使用HTTP代理?
    一、引言网络爬虫作为自动抓取互联网信息的重要工具,在现代社会中发挥着不可或缺的作用。然而随着网络环境的日益复杂,网站反爬虫技术的不断进步,网络爬虫在获取数据的过程中面临着越来越多的挑战。为了应对这些挑战,HTTP代理成为了网络爬虫不可或缺的一部分。本文将从多个角度详......
  • 为什么网络爬虫广泛使用HTTP代理?
    一、引言网络爬虫作为自动抓取互联网信息的重要工具,在现代社会中发挥着不可或缺的作用。然而随着网络环境的日益复杂,网站反爬虫技术的不断进步,网络爬虫在获取数据的过程中面临着越来越多的挑战。为了应对这些挑战,HTTP代理成为了网络爬虫不可或缺的一部分。本文将从多个角度详......
  • 为什么网络爬虫广泛使用HTTP代理?
    一、引言网络爬虫作为自动抓取互联网信息的重要工具,在现代社会中发挥着不可或缺的作用。然而随着网络环境的日益复杂,网站反爬虫技术的不断进步,网络爬虫在获取数据的过程中面临着越来越多的挑战。为了应对这些挑战,HTTP代理成为了网络爬虫不可或缺的一部分。本文将从多个角度详......
  • 为什么网络爬虫广泛使用HTTP代理?
    一、引言网络爬虫作为自动抓取互联网信息的重要工具,在现代社会中发挥着不可或缺的作用。然而随着网络环境的日益复杂,网站反爬虫技术的不断进步,网络爬虫在获取数据的过程中面临着越来越多的挑战。为了应对这些挑战,HTTP代理成为了网络爬虫不可或缺的一部分。本文将从多个角度详......