爬什么值得买的榜单——爬虫练习题目一(问)

爬虫题目你敢试试吗?

    • 引言
    • 具体原因
    • 网站
    • 思路
      • 总体
    • 我让AI给个框架
      • 1. **项目初始化与依赖安装**
      • 2. **定义数据模型**
      • 3. **网络请求模块**
      • 4. **页面解析模块**
      • 5. **数据存储模块**
      • 6. **主程序流程**
    • 结尾

引言

最近在做什么呢
建立一套完整的信息输入输出系统
在我上一次炒股的过程中
我深刻意识到
打工的我是麻木的
打工的我是闭塞的
打工的我是得过且过的
在这里插入图片描述

加上工作性质
也不可能跟别人有太多的交流
所以信息获取渠道基本为0

重新打工的我
决定要建立一套完善的信息获取来源系统
帮助我能够嗅到风口的味道
在这里插入图片描述

所以 我才发布了这篇文章
人民日报霸榜微信区、国足背后的利益下台?——每日信息输入
从今天
开始我的信息输入


这个只是一些新闻
还不足以体现经济市场
我还需要进一步下沉到市场中


我找了张大妈这个平台
里面的电脑数码区
爬取里面的价格
获取其中动态
在这里插入图片描述

具体原因

什么值得买
有很多的电脑产品爆料
可以一定程度上面反应科技界的发展变化
比如 2023年年中 的硬盘降价 探寻原因 发现国产的存储在崛起
是一个很不错的题材
在这里插入图片描述

网站

最终我选定了这个网站,这也是我长久以来一直关注的
有时候价格不错的产品
我就会出手
在这里插入图片描述

https://faxian.smzdm.com/h3s0t0f163c5p1/#filter-block

思路

总体

爬取网址:https://faxian.smzdm.com/h3s0t0f163c5p1/#filter-block(什么值得买的12小时热榜、电脑数码专区)
爬取目标:
在这里插入图片描述

  1. 主图
  2. 平台
  3. 标题
  4. 价格
  5. 评论数
  6. 链接

初步目标是先爬取这些信息
后面再进一步整理
当然这些信息爬取出来之后
也是要做可视化处理的
不能是简单的数据
那样
就没什么意思了

我让AI给个框架

编写一个爬虫程序来抓取“什么值得买”网站的12小时热榜(电脑数码专区)信息

1. 项目初始化与依赖安装

  • 创建一个新的Python项目目录。
  • 使用pip安装必要的库,如requests用于发送HTTP请求,beautifulsoup4lxml用于解析HTML内容,以及pandas用于数据处理和存储。
pip install requests beautifulsoup4 pandas

2. 定义数据模型

  • 定义一个数据类或字典结构来存储每条商品详情,包括主图URL、平台名称、标题、价格、评论数及链接。
class Product:def __init__(self, main_img_url, platform, title, price, comments_count, link):self.main_img_url = main_img_urlself.platform = platformself.title = titleself.price = priceself.comments_count = comments_countself.link = link

3. 网络请求模块

  • 创建一个函数用于发送GET请求到目标网址,并返回网页内容。
import requestsdef fetch_page_content(url):headers = {...}  # 添加合适的请求头,例如User-Agent等response = requests.get(url, headers=headers)response.raise_for_status()  # 检查响应状态码return response.text

4. 页面解析模块

  • 使用BeautifulSoup解析HTML内容,定位到包含商品信息的部分,并遍历提取所需字段。
from bs4 import BeautifulSoupdef parse_product_info(html_content):soup = BeautifulSoup(html_content, 'html.parser')product_list = []# 找到商品列表元素(具体CSS选择器需要根据实际HTML结构确定)product_elements = soup.select('.product-list-item')  # 假设这是商品容器的选择器for item in product_elements:# 提取每个商品的信息main_img = item.find('img')['src']  # 主图URLplatform = item.find('.platform').text  # 平台名称title = item.find('.title').text  # 标题price = item.find('.price').text  # 价格comments_count = item.find('.comments-count').text  # 评论数link = item.find('.link')['href']  # 商品链接# 将信息封装为Product对象并添加到产品列表中product = Product(main_img, platform, title, price, comments_count, link)product_list.append(product)return product_list

5. 数据存储模块

  • 将抓取到的商品信息保存到本地文件,可以选择CSV、JSON或者数据库等形式。
import pandas as pddef save_to_csv(products):df = pd.DataFrame([vars(p) for p in products])  # 将Product对象转为DataFramedf.to_csv('smzdm_products.csv', index=False)  # 存储为CSV文件

6. 主程序流程

  • 组织整个爬虫流程,调用上述各模块方法。
if __name__ == '__main__':target_url = "https://faxian.smzdm.com/h3s0t0f163c5p1/#filter-block"# 获取网页内容content = fetch_page_content(target_url)# 解析内容获取商品信息products = parse_product_info(content)# 存储结果save_to_csv(products)

请根据实际网页源代码调整CSS选择器以正确匹配所需的数据节点。
在这里插入图片描述
AI,还得是您呀!

结尾

我想着是要做完再发
还是这种形式
问了边做再发
最后
决定这一种
两个原因

  1. 我渴了
  2. 我希望能够吸引更多的人互动,参与进来

整体的代码明天发,最迟后天,看情况
那么
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue之状态管理的简单使用(事件总线(Event Bus),Vuex和若依前端示例)

文章目录 Vue之状态管理的简单使用(事件总线(Event Bus),Vuex和若依前端示例)Vue之事件总线(Event Bus)的简单使用Vuex进行状态管理的简单使用若依前端代码store状态管理: Vue之状态…

云原生时代下,操作系统生态的挑战与机遇

在云计算快速发展的背景下,服务器操作系统的产业升级,不再局限于物理服务器层面,市场边界扩张,人工智能、大数据、云计算等新技术的发展也对操作系统的灵活度和智能化提出新的要求。在 2023 龙蜥操作系统大会上,龙蜥社…

pytorch学习笔记(十二)

以下代码是以CIFAR10这个10分类的图片数据集训练过程的完整的代码。 训练部分 train.py主要包含以下几个部件: 准备训练、测试数据集用DateLoader加载两个数据集,要设置好batchsize创建网络模型(具体模型在model.py中)设置损失函…

深入了解C++:底层编译原理

进程的虚拟空间划分 任何编程语言,都会产生两样东西,指令和数据。 .exe程序运行的时候会从磁盘被加载到内存中,但是不能直接加载到物理内存中。Linux会给当前进程分配一块空间,比如x86 32位linux环境下会给进程分配2^32(4G)大小…

vue3页面跳转产生白屏,刷新后能正常展示的解决方案

可以依次检查以下问题: 1.是否在根组件标签最外层包含了个最大的div盒子包裹内容。 2.看看是否在template标签下面直接有注释,如果有需要把注释写到div里面。(即根标签下不要直接有注释) 3.在router-view 中给路由添加key标识。 …

(附源码)ssm 招聘信息管理系统-计算机毕设 78049

ssm 招聘客户管理系统 摘 要 由于数据库和数据仓库技术的快速发展,招聘客户管理系统建设越来越向模块化、智能化、自我服务和管理科学化的方向发展。招聘客户系统对处理对象和服务对象,自身的系统结构,处理能力,都将适应技术发展的…

脚本工具 mktemp 和 install

1.创建临时文件 mktemp 1.1 介绍 mktemp 命令用于创建并显示临时文件,可避免冲突 使用mktemp命令时,它会根据指定的模板在临时目录(默认为/tmp)中创建一个唯一的临时文件或目录,并返回该文件或目录的完整路径。临时…

在线UI设计工具有哪些?这5个包你满意

随着 UI 设计行业的蓬勃发展,越来越多的设计师进入 UI 设计,选择一款方便的 UI 设计工具尤为重要!除了传统的 UI 设计工具,在线 UI 设计工具也受到越来越多设计师的青睐。这种不受时间、地点和计算机配置限制的工作方法真的很刺激…

Python处理图片生成天际线(2024.1.29)

1、天际线简介 天际线(SkyLine)顾名思义就是天空与地面的边界线,人站在不同的高度,会看到不同的景色和地平线,天空与地面建筑物分离的标记线,不得不说,每天抬头仰望天空,相信大家都可…

屈子祠镇黑鱼岭,不可移动文物预防性保护系统守遗珍

一、何止秦俑 秦陵苑囿青铜水禽等文物集中展出 文物保护,尤其是不可移动文物的保护,一直都是文化遗产的重要环节。湖南省汨罗市屈子祠镇双楚村黑鱼岭墓地,作为长江中游地区的重大考古发现,其商朝晚期的历史背景赋予其不可估量的历…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-6 绘制几何图形

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>绘制几何图形</title> </head><body><canvas id"canvas" width"250" height"150" style"border: 1px b…

QUIC with CUBIC or BBR

拥塞控制 拥塞控制算法是 TCP/QUIC 协议的一个基础部分&#xff0c;多年来经过一个个版本的迭代&#xff08;如 Tahoe、Reno、Vegas 等&#xff09;&#xff0c;拥塞控制算法得到了持续的提升。由于篇幅有限&#xff0c;本文就目前比较流行的两种拥塞控制算法&#xff08;CUBI…

SVM支持向量机

1.基本概念 支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一种有监督学习方法&#xff0c;主要用于分类和回归分析。它的基本思想是在特征空间中找到一个超平面&#xff0c;能够将不同类别的样本分开&#xff0c;并且使得离这个超平面最近的样本…

sql注入,布尔盲注和时间盲注,无回显

布尔盲注 通过order by分组可以看到&#xff0c;如果正确会i显示you are in&#xff0c;错误则无任何提示&#xff0c;由此可以判断出&#xff0c;目前只显示对错&#xff0c;此外前端不会显示任何数据 也就是说&#xff0c;目前结果只有两种&#xff0c;在这种只有两种变量的…

Uniapp登录页面获取头像、昵称的最新方法的简单使用

前言 写小程序写到登录页面的时候&#xff0c;发现官方文档中原来的wx.getUserInfo和wx.getUserProfile不太能用了&#xff0c;学习了相对比较新的方法&#xff0c;这种方法的文档链接如下&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/framework/open-abil…

上位机是什么?与下位机是什么关系

在工业自动化领域中&#xff0c;上位机是一项关键而引人注目的技术。许多人对上位机的概念感到好奇&#xff0c;想要深入了解其在工业智能中的作用。那么&#xff0c;上位机究竟是什么呢&#xff1f; 首先&#xff0c;上位机是一种用于工业控制系统的软件应用&#xff0c;通常…

配置支持 OpenAPI 的 ASP.NET Core 应用

写在前面 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 本文记录如何配置基于Swagger 的 ASP.NET Core 应用程序的 OpenAPI 规范。 需要从NuGet 安装 Swashbuckle.AspNetCore 包 代码实现 var builder WebApplicati…

STM32G4单片机

单片机的基本结构 CPU就是中央处理器&#xff0c;是单片机的内核 时钟电路&#xff0c;时钟源是给整个电路提供时序 其他的外设、中断以及存储器都是通过系统总线与CPU进行连接 RAM相当于电脑的内存条&#xff0c;随机存储器&#xff0c;掉电会丢失 ROM相当于电脑的硬盘&am…

美籍华裔力学和数学家林家翘

林家翘&#xff08;1916年7月7日—2013年1月13日&#xff09;&#xff0c;出生于北京&#xff0c;男&#xff0c;原籍福建福州&#xff0c;力学和数学家&#xff0c;美国艺术与科学院院士、美国国家科学院院士、中国科学院外籍院士&#xff0c;麻省理工学院荣誉退休教授 [1]。 …

初始MySQL

一 SQL的基本概述 基本概述 ▶SQL全称: Structured Query Language&#xff0c;是结构化查询语言&#xff0c;用于访问和处理数据库的标准的计算机语言。SQL语言1974年由Boyce和Chamberlin提出&#xff0c;并首先在IBM公司研制的关系数据库系统SystemR上实现。 ▶美国国家标…