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

爬虫题目你敢试试吗?

    • 引言
    • 具体原因
    • 网站
    • 思路
      • 总体
    • 我让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.hqwc.cn/news/452442.html

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

相关文章

Flutter canvas 画一条会动的波浪线 进度条

之前用 Flutter Canvas 画过一个三角三角形,html 的 Canvas 也画过一次类似的, 今天用 Flutter Canvas 试了下 感觉差不多: html 版本 大致效果如下: 思路和 html 实现的类似: 也就是找出点的位置,使用二阶…

图论练习3

内容:过程中视条件改变边权,利用树状数组区间加处理 卯酉东海道 题目链接 题目大意 个点,条有向边,每条边有颜色和费用总共有种颜色若当前颜色与要走的边颜色相同,则花费为若当前颜色与要走的边颜色不同,…

一篇文章了解区分指针数组,数组指针,函数指针,链表。

最近在学习指针,发现指针有这许多的知识,其中的奥妙还很多,需要学习的也很多,今天那我就将标题中的有关指针知识,即指针数组,数组指针,函数指针,给捋清楚这些知识点,区分…

你所不知道的关于库函数和系统调用的那些事

系统调用和库函数的区别 相信大家在面试或者刷面试题的时候经常能看到这样的问题,“简述一下系统调用和库函数的区别”。 系统调用是操作系统提供给用户的接口,能让用户空间的程序有入口访问内核。而库函数数一组标准函数,比如复合 POSIX 或…

机器翻译后的美赛论文怎么润色

美赛论文的语言表达一直是组委会看重的点,清晰的思路和地道的语言在评审中是重要的加分项。 今天我们就来讲讲美赛论文的语言问题。 我相信有相当一部分队伍在打美赛的时候,出于效率的考量,都会选择先写中文论文,再机翻成英文。 …

基于JAVA的宠物管理系统

技术架构: Servlet JSP MySQL 有需要该项目的小伙伴可以私信我你的Q。 功能介绍: 系统主要分为前台和后台两大模块 前台主要由用户体验使用: 用户登录 注册 查找商品 商品类别等功能导航; 后台…

vulhub靶机activemq环境下的CVE-2015-5254(ActiveMQ 反序列化漏洞)

影响范围 Apache ActiveMQ 5.x ~ Apache ActiveMQ 5.13.0 远程攻击者可以制作一个特殊的序列化 Java 消息服务 (JMS) ObjectMessage 对象,利用该漏洞执行任意代码。 漏洞搭建 没有特殊要求,请看 (3条消息) vulhub搭建方法_himobrinehacken的博客-CSD…

移动WEB开发之rem布局

1,rem基础 rem是一个相对单位,类似于em,em是父元素字体大小 不同的是rem的基准是相对于html元素的字体大小 rem的优点就是可以通过修改html里面的文字大小来改变页面中元素的大小,可以整体控制 html{font-size: 14px; } div{w…

自动化测试报告生成【Allure】

之前尝试使用过testNG自带的测试报告、优化过reportNG的测试报告,对这两个报告都不能满意。后经查找资料,发现有个神器: Allure(已经有allure2了,笔者使用的就是allure2),生成的测试报告与上述…

笔记---容斥原理

AcWing,890.能被整除的数 给定一个整数 n n n 和 m m m 个不同的质数 p 1 , p 2 , … , p m p_{1},p_{2},…,p_{m} p1​,p2​,…,pm​。 请你求出 1 ∼ n 1∼n 1∼n 中能被 p 1 , p 2 , … , p m p_{1},p_{2},…,p_{m} p1​,p2​,…,pm​ 中的至少一个数整除的整数有多少…

一篇文章搞懂CNN(卷积神经网络)及其所含概念

目录 1. 什么是卷积神经网络:2. 应用领域:3. 架构:4. 卷积层的参数和名词参数:名词: 5. 注意:6. 经典网络:小结: 当下,计算机视觉在人工智能领域中扮演着至关重要的角色。…

[word] word中如何打出下横线 #其他#其他#其他

word中如何打出下横线 1、电脑打开word文档。 2、打开进入word文档后,在正文处点击鼠标右键,然后选择字体选项。 3、进入字体选项页面后,点击效果中的删除线然后点击界面下方的确定选项。 4、选择删除线之后,返回word正文处一直…