当前位置: 首页 > article >正文

python爬虫基础篇:BeautifulSoup解析界面

BeautifulSoup解析界面

下载:pip install bs4

 from bs4 import BeautifulSoup
 import requests
 head = {
     'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0'
     }
 html = requests.get("https://www.zygx8.com/",headers=head)
 soup = BeautifulSoup(html.text,'lxml')
 tobody = soup.select("a font b")
 for t in tobody:
     print(t.text)
  1. select语法 选取页面中的class或者id或标签名(tr,ul,阿,font)等例如获取页面title。直接soup.select(title)

     from bs4 import BeautifulSoup
     import requests
     head = {
         'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0'
         }
     html = requests.get("https://www.zygx8.com/",headers=head)
     soup = BeautifulSoup(html.text,'lxml')
     title = soup.select("title")
     for t in title:
         print(t)
         # 输出结果:<title>资源共享吧|易语言论坛|逆向破解教程|辅助开发教程|网络安全教程|www.zygx8.com|我的开发技术随记</title>
         print(t.text)
         # 输出结果:资源共享吧|易语言论坛|逆向破解教程|辅助开发教程|网络安全教程|www.zygx8.com|我的开发技术随记

html中的标签存在父子关系,其中

">"即找到某个tag标签下的子标签不获取其孙子标签(head > title)不获取title下的a标签内容

“~.”找到兄弟节点标签

通过tag的id查找 soup.select('#id')

返回查找到的元素的第一个:soup.select_one() 只返回一个,不返回列表

 from bs4 import BeautifulSoup
 import requests
 head = {
     'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0'
     }
 html = requests.get("https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4",headers=head)
 soup = BeautifulSoup(html.text,'lxml')
 title = soup.select("ul div>h2")
 for t in title:
     print(t.text.strip().replace(" ", "").replace("/n", ""))

食南之徒 素食者 长安的荔枝 太白金星有点烦 怪画谜案 活着 波兰人 额尔古纳河右岸 边水往事 绝叫 一句顶一万句 明亮的夜晚 西游八十一案:长安击壤歌 悉达多:一首印度的诗 七个证人 上升的一切必将汇合 我的天才女友:那不勒斯四部曲1 卡拉马佐夫兄弟 怪屋谜案 我胆小如鼠


http://www.kler.cn/news/366973.html

相关文章:

  • .net Core中使用sqlsugar
  • 2024 Rust现代实用教程:1.3获取rust的库国内源以及windows下的操作
  • Java后端面试题:Java基础篇
  • Vscode + EIDE +CortexDebug 调试Stm32(记录)
  • Java 多线程(八)—— 锁策略,synchronized 的优化,JVM 与编译器的锁优化,ReentrantLock,CAS
  • 服务器与普通电脑的六大区别
  • 鸿蒙是必经之路
  • OA命令执行漏洞挖掘
  • 【学习笔记】数据库 Redis(键值对存储)
  • Qt使用QAxObject将Excel表格数据导入到SQLite数据库
  • 用GG修改器修改龙与骑士人物、酒馆属性
  • 华为:高级ACL 特定ip访问特定ip命令
  • 腾讯云:数智教育专场-学习笔记
  • libharu 中文问题
  • 关于iPhone 16 Pro评测视频评论区特征的多维度分析
  • MySQL—索引 |ू・ω・` )
  • 基于websocket简易封装一个全局消息通知组件
  • C++ STL - 容器
  • Jmeter实际应用
  • hive查询语句
  • 【ROS机器人运动控制激光雷达数据获取激光雷达避障篇——C++实现】
  • Linux常用命令1
  • S-Function
  • 洛谷——P8468 [Aya Round 1 C] 文文的构造游戏(01构造问题)
  • 【Kubernets】k8s进阶-深入了解一下Label的用法
  • npm ERR! 503 Service Unavailable one of the uplinks i