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

102302105汪晓红作业1

作业1

作业①:用requests和BeautifulSoup库方法定向爬取给定网址 http://www.shanghairanking.cn/rankings/bcur/2020 的数据,屏幕打印爬取的大学排名信息。

代码与结果

核心代码:

点击查看代码
 #设置headers,模拟浏览器访问,防止被反爬headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'}#设置真实网址,爬取指定页面url = "https://www.shanghairanking.cn/rankings/bcur/2020"try:response = requests.get(url, headers=headers)response.raise_for_status()#将编码设置为utf-8防止乱码response.encoding = 'utf-8' #用bs4解析网页的HTML文件soup = BeautifulSoup(response.text, 'html.parser')#检查可知,大学排名数据保存在rk-table表格中,搜索该表格table = soup.find('table', class_='rk-table')print("2020年中国大学排名")#设置打印表格的结构print("=" * 50)print(f"{'排名':<4} {'学校名称':<15} {'省份':<6} {'类型':<4} {'总分':<6}")print("-" * 50)#处理表格数据rows = table.find('tbody').find_all('tr')for row in rows:cells = row.find_all('td')# 提取前5列数据ranking = cells[0].get_text(strip=True)# 提取学校名称name_cn = cells[1].find('span', class_='name-cn')university_name = name_cn.get_text(strip=True) if name_cn else cells[1].get_text(strip=True)# 提取省市、类型和总分数据province = cells[2].get_text(strip=True)uni_type = cells[3].get_text(strip=True)total_score = cells[4].get_text(strip=True)print(f"{ranking:>2}   {university_name:<15} {province:<6} {uni_type:<4} {total_score:>6}")

输出结果:
image

作业心得:

打开该网站后,检查页面,筛选html文件,可以找到排名数据保存在rk-table表格中,解析该表格后打印出来即可

image

作业②:用requests和re库方法设计当当网“书包”商品比价

代码与结果

核心代码:

点击查看代码
try:#爬取当当网的书包商品信息url = "https://search.dangdang.com"# 获取页面,书包的第一页params = {'key': '书包', 'page': 1, 'pagesize': 10}response = requests.get(url, params=params, headers=headers, timeout=10)response.encoding = 'gb2312' #utf-8不可用,用gb2312html = response.text# 使用正则表达式提取商品信息all_pattern = re.compile(r'<span class="price_n">&yen;(\d+(?:\.\d+)?)</span>.+?<a title="(.+?)"', re.S)result = list(all_pattern.finditer(html))# 显示结果print("\n序号| 价格 | 商品名")print("-" * 80)products = []for i, r in enumerate(result, 1):price, title = r.groups()title = title.strip()print(f" {i} | {price} | \"{title}\"")products.append([title, price])

输出结果:

image

作业心得:

爬取当当网的商品信息,跳转到书包商品页面,检查,找到html文件中的价格和商品名称段,解析,使用正则表达式筛选,然后将商品名称和价格对应保存下来

image

作业③:爬取一个给定网页 https://news.fzu.edu.cn/yxfd.htm 的所有JPEG、JPG或PNG格式图片文件

代码与结果:

核心代码:

点击查看代码
# 步骤1: 设置请求头headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'}# 创建保存文件夹if not os.path.exists(folder):os.makedirs(folder)try:# 步骤2: 使用BeautifulSoup获取HTMLresponse = requests.get(url, headers=headers)response.raise_for_status()soup = BeautifulSoup(response.text, 'html.parser')html_content = str(soup)# 步骤3: 使用正则表达式查找图片img_urls = re.findall(r'<img[^>]+src="([^"]+\.(?:jpg|jpeg|png))"', html_content, re.I)print(f"找到 {len(img_urls)} 个图片链接")# 步骤4: 下载并保存count = 0for img_src in img_urls:# 拼接完整URLimg_url = urljoin(url, img_src)try:# 下载图片img_response = requests.get(img_url, headers=headers)img_response.raise_for_status()# 生成文件名filename = os.path.basename(img_src)if not filename:filename = f"image_{count+1}.jpg"filepath = os.path.join(folder, filename)# 保存图片with open(filepath, 'wb') as f:f.write(img_response.content)print(f"下载: {filename}")count += 1except Exception as e:print(f"下载失败: {img_url}")print(f"\n共下载 {count} 张图片到 '{folder}' 文件夹")except Exception as e:print(f"错误: {e}")

输出结果:
image

作业心得:

打开该网站后,检查页面,筛选html文件,可以找到第一个图片路径保存在img src中:
image
通过这个格式可以直接将图片筛选出来,同时用正则表达式筛选我们需要的图片格式

http://www.fuzeviewer.com/news/266/

相关文章:

  • Luogu P3237 [HNOI2014] 米特运输 题解 [ 蓝 ] [ 树形 DP ] [ 哈希 ]
  • 各个版本的sqlite-jdbc jar下载链接
  • echart - f
  • BongoCat日志搜索程序:正则表达式与高级筛选
  • c# 使用 jwt
  • macro出pin
  • 读书笔记:告别数据冗余!Oracle引用分区让父子表管理如此简单
  • 2025 年 10 月绕包电缆头,熔接电缆头,预制电缆头,冷缩管电缆头厂家最新推荐,产能、专利、环保三维数据透视
  • 2025年浅拾兰花双萃致臻精华油:从成分与技术维度解析其护肤效能
  • 路沿石加工设备厂家有哪些?2025石材机械十大品牌
  • 2025年10月重庆装饰装修公司推荐排行榜:十家企业综合对比与实用指南
  • 工业水泵控制移动终端APP需求于开发
  • 《CSS盒子模型》笔记总结 - 教程
  • MCS-51中断系统
  • 触控感应芯片电容式触摸IC 4通道触控方案VK36N4D
  • 测试领域,苏州永创-STD2000X-半导体分立器件电参数测试仪系统能测试哪些元器件和参数 - FORCREAT
  • 2025年AI IDE的深入对比与推荐排行:从好用到生成效果的转变
  • 20232411 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 2025 年 10 月进销存管理系统,进销存软件,进销存管理软件公司最新推荐,技术实力与市场口碑深度解析!
  • 常用数据管理工具与平台汇总
  • 2025年10月美国投资移民机构推荐榜:权威机构综合对比分析
  • 2025 年企业级 GPU 服务器,8 卡风扇 GPU 服务器,大模型训练 GPU 服务器厂家最新推荐,技术实力与市场口碑深度解析
  • 揭秘 MCP Streamable HTTP 协议亲和性的技术内幕
  • 2025年10月EB5投资移民中介评测榜:客观数据支撑的专业推荐
  • 2025年10月EB5投资移民中介评价报告:五强机构深度解析
  • 2025年氨水换热器源头厂家权威推荐榜单:板式换热器/缠绕管换热器/螺旋板换热器源头厂家精选
  • 权威媒体:得帆信息连续两年领跑iPaaS市占率