当前位置: 首页 > 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-20251025195423173-2137987156.png) ![image](https://img2024.cnblogs.com/blog/3714524/202510/3714524-20251025195447059-201460257.png)

2.心得:前期一直执着于爬取淘宝,然后一直被反爬浪费了很多时间。以及我学会了如何分析正则表达式的写法。
• 作业③:爬取一个给定网页(https://news.fzu.edu.cn/yxfd.htm)或者自选网页的所有JPEG、JPG或PNG格式图片文件
1.代码与实验结果
首先还是先打开网站,找到有关jpg png等所在的特征
image
写出正则表达式,精准匹配

<img\s+src="(/__local/[^"]*?\.(jpg|jpeg|png))"\s+alt="([^"]*)"
![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.hskmm.com/?act=detail&tid=38985

相关文章:

  • 2025.10.23 模拟赛
  • 刷题日记—洛谷循环题单 1.数学思想在算法题中的应用: 2.回文数的判定:
  • Day23-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\InOut
  • 【题解】洛谷P14308 【MX-S8-T1】斐波那契螺旋
  • MAC地址类型速记
  • 《程序员修炼之道》阅读笔记3
  • 深入解析:关于在博客页面添加live2d-widget的一些心得和踩过的坑
  • Android设备位置历史深度解析:本地存储与取证技术
  • LLM学习记录DAY12
  • MCP Gateway 综述与实战指南
  • 清晨的阳光刚染红天边,我就钻进了彩虹色的热气球吊篮
  • vue3 不同构建版本
  • 使用 Android NDK 获取 YUV420p摄像头原始数据
  • task3
  • LLM安全新威胁:为什么几百个毒样本就能破坏整个模型
  • 文档扩展名.js .jsx .ts .tsx区别(JavaScript扩展名、React扩展名、TypeScript扩展名)
  • MySQL5.7安装及配置
  • ASP.NET Core Blazor简介和快速入门三(布局和路由)
  • 碎碎念(0....)
  • 玩转单片机之智能车小露——通过UART为单片机增加TTY终端
  • mysql数据库学习之用户权限管理(四) - 实践
  • 2025超纯水推荐品牌,哪个品牌口碑好?
  • 五笔练习
  • cnbook主题风格美化 —— 01(未完成)
  • 2025 年热镀锌方管立柱制造厂家最新推荐榜,技术实力与市场口碑深度解析佛山/顺德/广州薄壁/异形/Q235厂家推荐
  • 【嵌入式】IIC和SPI的比较
  • session、cookie、token的区别
  • AppSec与事件响应的融合实践
  • 权威调研榜单:电磁加热器厂家TOP3榜单好评深度解析
  • CSP-S模拟39 ( 2025多校冲刺CSP模拟赛8 )