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

102302110高悦作业1

• 作业①:用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020 )的数据,屏幕打印爬取的大学排名信息。
1.代码与实验结果
首先打开网页,查看网页的源代码,找出并分析所要爬取内容的html结构
image
根据这个结构,用beautifulsoup进行解析并且提取文本输出

for line in lines:rank=line.find("div", class_="ranking")if rank is None:rank=""else:rank=rank.text.strip()name=line.find("span", class_="name-cn")if name is None:name=""else:name=name.text.strip()tds = line.find_all("td")if len(tds)>=4:province=tds[2].text.strip()type=tds[3].text.strip()score=tds[4].text.strip()else:province=""type=""score=""print(f"{rank:<6}{name:<16}{province:<6}{type:<8}{score}")
![image](https://img2024.cnblogs.com/blog/3714524/202510/3714524-20251025163348866-1616869514.png)

image
2.实验心得:通过这个实验,我了解了一般爬取网页信息的步骤:首先分析网页的源代码,找出、定位所需信息的特征,用bs或正则表达式进行提取,最后输出
• 作业②:用requests和re库方法设计某个商城(自已选择)商品比价定向爬虫,爬取该商城,以关键词“书包”搜索页面的数据,爬取商品名称和价格。
1.代码与实验结果
选择了一个比较小众的网站:没得比
因为怕一直用爬虫访问会被网站禁止访问,因此先爬取下书包的第一页的源代码并保存的本地进行分析
image
分析出相应的结构后,用正则表达式匹配

goods_pattern = re.compile(r'<li class="clearfix">.*?' r'<div class="tit">.*?<h6>.*?<a[^>]*?>(.*?)</a>.*?</h6>.*?'  r'<span class="red price">\s*¥([0-9.]+)\s*</span>',re.DOTALL  )
最终结果 ![image](https://img2024.cnblogs.com/blog/3714524/202510/3714524-20251025171925190-280411125.png) ![image](https://img2024.cnblogs.com/blog/3714524/202510/3714524-20251025171952305-1740161245.png) 2.心得:前期一直执着于爬取淘宝,然后一直被反爬浪费了很多时间。以及我学会了如何分析正则表达式的写法。 • 作业③:爬取一个给定网页(https://news.fzu.edu.cn/yxfd.htm)或者自选网页的所有JPEG、JPG或PNG格式图片文件 1.代码与实验结果 首先还是先打开网站,找到有关jpg png等所在的特征 ![image](https://img2024.cnblogs.com/blog/3714524/202510/3714524-20251025194622866-1021851687.png) 写出正则表达式,精准匹配 ``` ![image](https://img2024.cnblogs.com/blog/3714524/202510/3714524-20251025194924047-23910162.png) ![image](https://img2024.cnblogs.com/blog/3714524/202510/3714524-20251025194938782-1743533657.png)

image
2.心得:这次的三个作业让我学会了爬取网页的基本步骤

http://www.jsqmd.com/news/22308/

相关文章:

  • 2025.10.23 模拟赛
  • 刷题日记—洛谷循环题单 1.数学思想在算法题中的应用: 2.回文数的判定:
  • Day23-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\InOut
  • U623471 暂未定题目(无数据)
  • 深入解析:每日前端宝藏库 | tinykeys ✨
  • MAC地址类型速记
  • 《程序员修炼之道》阅读笔记3
  • 【题解】洛谷P14308 【MX-S8-T1】斐波那契螺旋
  • 实验二 现代C++编程初体验
  • LLM学习记录DAY12
  • MCP Gateway 综述与实战指南
  • 清晨的阳光刚染红天边,我就钻进了彩虹色的热气球吊篮
  • 深入解析:关于在博客页面添加live2d-widget的一些心得和踩过的坑
  • Android设备位置历史深度解析:本地存储与取证技术
  • 深入解析:Zark Lab 与 Walrus 合作,建立内容发现、可访问性与实用性的基础 AI 智能层
  • LLM安全新威胁:为什么几百个毒样本就能破坏整个模型
  • 软件技术基础第二次作业
  • 前后端分离毕设课题:基于React.js+Java+Springboot框架+Mysql数据库在线买菜商城专业的系统设计与实现
  • vue3 不同构建版本
  • 使用 Android NDK 获取 YUV420p摄像头原始数据
  • 2025 年 Python 数据分析全栈学习路线:从入门到精通的进阶指南 - 实践
  • 百度智能云一念智能创作优秀的平台
  • 高阳台一首
  • 【深度相机术语与概念】 - 详解
  • 文档扩展名.js .jsx .ts .tsx区别(JavaScript扩展名、React扩展名、TypeScript扩展名)
  • AI元人文:共识锚定的基石——语境主权
  • MySQL5.7安装及配置
  • uniapp打包安卓跟ios记录
  • Windows 11 家庭版关闭自动更新
  • ASP.NET Core Blazor简介和快速入门三(布局和路由)