BS4 案例实战 小案例

ops/2025/4/1 4:16:46/

BS4 案例分析
实现步骤:
1.了解HTML和网页结构

2.安装和导入相关依赖库

3.发送http请求获取网页内容

4.解析HTML网页内容

5.定位内容和提取数据

6.保存抓取的数据

python">- coding: UTF-8 
import os
import timeimport requestsfrom bs4 
import BeautifulSoupfrom openpyxl 
import Workbook
# 创建Excel文件
# wb = Workbook()
ws = wb.active
# 爬取地址
# url = f'https://www.maigoo.com/news/484526.html'
请求headerheader = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '                        
'Chrome/112.0.0.0 Safari/537.36',          
'cookie': '__yjs_duid=1_b1ac9fc87dce4de5552d7cf0924fb4981686228951567; u=b0281776fd75d3eefeb3562b2a5e6534; '                    
'__bid_n=1889b14047a51b2b754207; '                    
'FPTOKEN=qU+ieOMqkW6y6DlsOZ+D/T'                    
'+SCY6yS3dYvGXKibFoGBijKuUuSbc3ACFDzjlcC18wuDjNLENrw4ktAFAqnl3Akg492Lr4fbvNrkdJ'                    
'/ZQrluIdklkNDAKYnPrpcbe2H9y7AtX+/b+FCTkSTNv5+qB3OtQQ3BXXsEen72oEoAfK+H6'                   '/u6ltZPdyHttJBJiXEDDS3EiUVt+S2w+8ozXENWbNt/AHeCgNUMmdeDinAKCR+nQSGK/twOoTLOU/nxBeSAazg'                    
'+wu5K8ooRmW00Bk6XAqC4Cb829XR3UinZHRsJxt7q9biKzYQh'                    
'+Yu5s6EHypKwpA6RPtVAC1axxbxza0l5LJ5hX8IxJXDaQ6srFoEzQ92jM0rmDynp+gT'                    
'+3qNfEtB2PjkURvmRghGUn8wOcUUKPOqg==|mfg5DyAulnBuIm/fNO5JCrEm9g5yXrV1etiaV0jqQEw=|10'                    
'|dcfdbf664758c47995de31b90def5ca5; PHPSESSID=18397defd82b1b3ef009662dc77fe210; '                    
'Hm_lvt_de3f6fd28ec4ac19170f18e2a8777593=1686322028,1686360205; '                    
'history=cid%3A2455%2Ccid%3A2476%2Ccid%3A5474%2Ccid%3A5475%2Ccid%3A2814%2Cbid%3A3667; '                    
'Hm_lpvt_de3f6fd28ec4ac19170f18e2a8777593=1686360427'}
response = requests.get(url, headers=header)
time.sleep(0.01)
# print(response)
# 获取网页信息#
# soup = BeautifulSoup(response.content, 'lxml')
# soup = BeautifulSoup(response.content, 'html.parser')
# print(soup)
# 解析网页数据 
# tr_tags = soup.find('div', class_="md_1009 modelbox tcenter").get_text()
# tr_tags = soup.find_all('div', class_="md_1009 modelbox tcenter")
# print(tr_tags)
# # 循环遍历获取tr标签下的td标签文本
# td_tags = soup.select('tr td')for i in range(0, len(td_tags), 2):    
school_name = td_tags[i].get_text()    
address = td_tags[i + 1].get_text()    
# score = td_tags[i + 2].get_text()    
time.sleep(0.1)    
print(f'正在爬取:--{school_name}--{address}--')    
# 将数据项转换为一个元组    
row = (school_name, address)    
# 将数据行写入 Excel 表格    
ws.append(row)# 
# 将文件保存到桌面desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")file_path = os.path.join(desktop_path, "重庆市小学爬取.xlsx")wb.save(file_path)print('数据爬取完成!')

补充介绍
**

- openpyxl 是什么?

openpyxl 是一个 Python 库,专门用于读取和写入 Excel 文件(.xlsx 格式)。它提供了强大的功能,可以让你在 Python 程序中轻松操作 Excel 表格,比如创建新的 Excel 文件、读取现有文件的内容、修改单元格数据、添加公式等。
它是处理 Excel 文件的常用工具之一,尤其适合处理复杂的 Excel 数据操作。

  • from openpyxl import Workbook 的含义
  • from openpyxl:表示从 openpyxl
  • import Workbook:表示从 openpyxl 库中导入 Workbook 类。

Workbook 是 openpyxl 库中的一个类,用于表示一个 Excel 工作簿(Workbook)。一个工作簿可以包含多个工作表(Worksheet),类似于你在 Excel 软件中看到的一个 .xlsx 文件。
用途
导入 Workbook 类后,你就可以使用它来创建一个新的 Excel 工作簿,或者加载一个已有的 Excel 文件进行操作。例如:
Python

python">from openpyxl import Workbook

创建一个新的工作簿

python">wb = Workbook()
ws = wb.active  # 获取当前激活的工作表
ws['A1'] = "Hello, Excel!"  # 在 A1 单元格写入内容
wb.save("example.xlsx")  # 保存工作簿到文件

总结
这段代码的作用是从 openpyxl 库中导入 Workbook 类,以便后续可以使用它来操作 Excel 文件。这是使用 openpyxl 库进行 Excel 数据处理的第一步。


http://www.ppmy.cn/ops/170779.html

相关文章

Unity UGUI - 六大基础组件

目录 一、Canvas上 1. Canvas:复制渲染子UI控件 2. ✨Canvas Scaler✨:画布分辨率自适应 3. Graphics Raycaster:射线事件响应 4. ✨Rect Transform✨:UI位置锚点对齐 二、Event System上 5. Event System 6. Standalone …

turtle的九个使用

一 import turtle as t color [red,green,blue,orange,pink] for i in range(len(color)):t.penup()t.goto(-20070*i,0)t.pendown()t.pencolor(color[i])t.circle(50, steps 5) t.done()二 #在____________上补充代码 #不要修改其他代码import random as r import turtle a…

[特殊字符] Hyperlane:Rust 高性能 Web 框架的终极选择 [特殊字符]

🔥 Hyperlane:Rust高性能Web框架的终极选择 🔥 📈 性能封神:32万QPS碾压群雄 在1000并发压测中,Hyperlane以307,568.90 req/s的恐怖QPS稳居Rust生态第一,甚至超越Tokio框架!开启Kee…

解锁SEO的未来:从量子搜索到情感共鸣的技术探索

搜索引擎优化(SEO)作为数字营销的基石,正在迈向一个充满想象力的新纪元。2025年,随着量子计算的初步商用、情感AI的崛起以及用户体验的深度个性化,SEO不再仅仅是关键词和链接的游戏,而是技术与人性交织的艺…

Unix/Linux 系统下的文件权限

文件权限 drwxr-xr-x 是一个常见的 Unix/Linux 文件系统中的权限表示法,用于描述文件或目录的访问权限。它由 10 个字符组成,每个字符的位置和含义如下: 第一个字符:文件类型 d 表示目录 (directory)表示普通文件 (regular file)l…

AWS云安全全面详解:从基础防护到高级威胁应对

随着企业加速向云端迁移,AWS作为全球最大的云服务提供商之一,其安全性成为用户首要关注的问题。本文将深入剖析AWS云安全架构,从基础防护到高级威胁应对,帮助您构建全方位的云安全防线。 一、AWS安全责任共担模型 在深入探讨AWS具体安全措施前,首先需要理解AWS的安全责任…

AI大模型从0到1记录学习 day08

第 6 章 函数 在前面几个章节中我们经常使用到print(),那么它是什么呢? print() 是一个函数,可以向控制台打印输出内容。 6.1 函数的概念 函数是带名字的代码块,用于完成具体的任务,可重复使用。当需要在程序中多次执行…

Selenium 简单入门操作示例

最简单的 Selenium 示例(Python版) 下面是一个完整的、最简单的 Selenium 操作示例,带你快速上手: from selenium import webdriver from selenium.webdriver.common.by import By import time# 1. 启动浏览器(这里使…