尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

022304105叶骋恺数据采集第一次作业

022304105叶骋恺数据采集第一次作业
📅 发布时间:2026/6/21 14:31:51

作业1

代码与运行结果

import urllib.request
from bs4 import BeautifulSoupurl ="http://www.shanghairanking.cn/rankings/bcur/2020"
response = urllib.request.urlopen(url, timeout=3)
html= response.read().decode('utf-8')
soup = BeautifulSoup(html, 'lxml')
name = soup.find_all(name='img',class_="univ-logo")
province = soup.find_all('td', attrs={"data-v-389300f0": True})
l=len(name)
print(f"{'排名':<6}{'学校名称':<16}{'省市':<8}{'学校类型':<10}{'总分'}")
for i in range(l):a=i+1b=name[i]['alt']c=province[i*6+2].text.strip()d=province[i*6+3].text.strip()e=province[i*6+4].text.strip()print(f"{a:<6}{b:<18}{c:<8}{d:<8}{e}")

作业心得

本次实验的核心是爬取一个动态加载数据的网页。在数据解析上,我使用了BeautifulSoup。然后通过查找名字为td,标签为data-v-389300f0的表格单元格提取数据。最后用格式化字符串f-string设置各列左对齐宽度,保证排版整齐。这个实验让我深刻体会到,爬虫开发的核心难点,往往不在于代码语法本身,而在于对目标网页 DOM 结构的深度理解

作业2

代码与运行结果

import urllib.request
from bs4 import BeautifulSoupurl = "https://search.dangdang.com/?key=%CA%E9%B0%FC&category_id=10009684#J_tab"
response = urllib.request.urlopen(url, timeout=3)
html= response.read().decode('gb2312')
soup = BeautifulSoup(html, 'lxml')
name = soup.find_all('a', attrs={'class': 'pic', 'name': 'itemlist-picture'})
price = soup.find_all(name='span',class_="price_n")
for i in range(len(name)):print(name[i]["title"], end='   ')print(price[i].text)

作业心得

本次实验以当当网图书搜索页为目标,通过urllib和BeautifulSoup实现了图书名称与价格的爬取。核心逻辑在于:利用find_all按标签属性定位数据 —— 通过class="pic"和name="itemlist-picture"筛选图书图片链接的标签,提取title属性获取书名;通过class="price_n"定位价格对应的标签,直接读取文本内容。循环中用end=' '控制输出格式,使书名与价格在同一行展示。这次实践让我深刻认识到,爬虫开发的关键挑战并非语法本身,而是对网页结构的精准拆解。例如,当当网页面中class="price_n"的唯一性设计,使其成为价格数据的稳定锚点;而name="itemlist-picture"这一非标准属性的使用,本质上是网站对数据抓取的隐性防御,需通过属性精确匹配突破。此外,编码格式的选择(非默认utf-8),体现了对目标网站字符集的针对性适配,这也是数据解析时容易被忽略的细节。

作业3

代码与运行结果

import urllib.request
from urllib.parse import urljoin
from bs4 import BeautifulSoup
import osurl ="https://news.fzu.edu.cn/yxfd.htm"
response = urllib.request.urlopen(url, timeout=3)
html= response.read().decode('utf-8')
soup = BeautifulSoup(html, 'lxml')
imgs = soup.find_all(name='img')
save_folder = "images"if not os.path.exists(save_folder):os.makedirs(save_folder)
for i in range(len((imgs))):img_src = imgs[i].get('src', '')full_img_url = urljoin(url, img_src)filename = full_img_url.split('/')[-1].split('?')[0]path = os.path.join(save_folder,filename)urllib.request.urlretrieve(full_img_url,path)

作业心得

本次实验实现了福州大学新闻网页面图片的批量下载,核心逻辑围绕 “图片链接解析 - URL 标准化 - 本地存储” 展开。代码通过BeautifulSoup提取所有标签的src属性,利用urljoin将相对路径转换为绝对 URL,再通过urlretrieve按文件名保存至指定文件夹。实践中最深刻的体会是:网络资源爬取的难点不仅在于数据提取,更在于 “URL 标准化” 与 “文件系统适配” 的细节处理。此外,urljoin的应用解决了 “相对路径无法直接访问” 的核心问题,这让我意识到:在跨页面资源爬取时,URL解析器是比标签定位更基础的工具。

相关新闻

  • 2025年振动电机厂家推荐排行榜,新型/高频/防爆/低噪声/节能振动电机公司精选!
  • QT肝8天01--工程介绍
  • Java中java.util.Random的用法

最新新闻

  • VR与生成式AI协同重塑文化遗产:从数据采集到空间共创的实践指南
  • 2026年众智商学院中级经济师人力资源方向绩效管理模块怎么学?考核要点与复习路径说明 - 众智商学院官方
  • 管综199做题顺序|199管综数学笔记|王道数据结构1800题
  • Python 爬虫遇到 403 的经验复盘
  • MCF5272中断系统与PLIC模块配置实战指南
  • 第02章|过目不忘:Claude Code 记忆系统与 CLAUDE

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号