爬虫练习csv录入

CSV基础操作——写入和读取 CSV,英文全称为Comma Sepatated Values,是以纯文本形式储存表格数据,中文可以叫做逗号分隔值。相比xlsx,文本储存的结构更加清晰。 CSV的写入 采用writerow(),写入每一列,我们可以使用下面的代码生成一个CSV文件。 import csv with open('examble.csv', 'w') as csvfile: writer = csv.writer(csvfile) writer.writerow(['name', 'zone', 'score 阅读详情

爬虫练习csv录入

发现应用程序是ajax动态加载,可以用selenuim或者分析页面来源,可以在network找XHR或者在ALL找

在这里插入图片描述
在这里插入图片描述

打开第一个url

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

普通(非多线程下的爬虫案例+csv保存)

# 发现应用程序是ajax动态加载,可以用selenuim或者分析页面来源
# 可以再network找XHR或者在ALL找

# 点开一个,url https://app.mi.com/details?id=com.kuaiyin.live
# XHR 里的packageName是这个                   com.kuaiyin.live
# 所以url为‘https://app.mi.com/details?id=’ 拼接+ packageName
# 通过 XHR找到的url为
# 第一页 https://app.mi.com/categotyAllListApi?page=0
# 第二页 https://app.mi.com/categotyAllListApi?page=1

import requests
import time
import random
from fake_useragent import UserAgent
import csv
class XiaomiSpider():
    def __init__(self):
        # {}为占位 在后面的来一个format占位页数
        self.url ='https://app.mi.com/categotyAllListApi?page={}&categoryId=2&pageSize=30'
        # headers
        # self.headers ={
        #     'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
        # }

    # 获取响应内容 获得的内容使json数据
    def get_html(self,url):
        lst =[]
        # 写一个假的headers
        headers ={'User-Agent':UserAgent().random}
        # 之前的方法 把json变成python字典类型
        # response =requests.get(html) response.text
        # data =json.loads(requests.text)
        # 方法2
        # data =requests.json()
        # html =requests.get(url,headers=self.headers).json()
        html = requests.get(url, headers=headers).json()
        # 调用parse_html函数
        lst += self.parse_html(html)
        # print(item,type(item))
        return lst

    # 解析响应内容
    def parse_html(self,html):
        lst =[]
        # 现在是字典类型了
        # item ={}
        for app_dict in html['data']:
            item = {}
            # 将每个html(app_dict)的应用名赋值给空字典item,并设下key和对应value值
            item['app_name']=app_dict['displayName']
            item['app_category'] = app_dict['level1CategoryName']
            # 这个是应用程序的url
            item['app_link'] = 'https://app.mi.com/details?id='+app_dict['packageName']
            lst.append(item)
        return lst
    def save_html(self,lst):
        with open('xiaomi.csv','w',encoding='utf-8',newline='')as f:
            headers = ('app_name', 'app_category', 'app_link')
            dwriter = csv.DictWriter(f, headers)
            dwriter.writeheader()
            dwriter.writerows(lst)

    def main(self):
        # 一共67页 因为时0为第一页,67页为66,但是range最后一个取不到,要加1 所以开始range(67)
        lst =[]
        for page in range(67):
            url =self.url.format(page)
            # 调用get_html函数
            lst += self.get_html(url=url)
            # self.save_html(item)
            # 控制抓取频率
            # n =random.randint(1,2)等于是1=<n<=2
            # time.sleep(random.randint(1,2))
        self.save_html(lst)


if __name__ == '__main__':
    xiaomi =XiaomiSpider()
    xiaomi.main()

结果

在这里插入图片描述

WPS打开CSV文件总少行?原来是这个引号陷阱在作怪(附Python修复脚本) 本文深入解析了WPS打开CSV文件时行数减少的常见问题,其核心原因在于非标准引号导致的解析冲突。文章提供了诊断引号陷阱的实用技巧,并重点分享了利用Python脚本进行自动化修复的两种策略,帮助用户彻底解决数据丢失困扰,确保数据处理准确无误。 阅读详情

相关推荐

从CSV到足球分析:用数据科学解构英格兰足球的实战指南

CSV(逗号分隔值)作为一种基础且通用的数据交换格式,是数据科学和数据分析的基石。其原理在于通过简单的文本和逗号分隔符来结构化存储数据,具有轻量、易读和跨平台兼容的技术价值,广泛应用于数据采集、存储和初步处理等场景。在体育分析领域,尤其是足球数据分析中,CSV文件常被用于存储比赛事件、球员统计和球队表现等结构化信息。结合Python的Pandas库进行数据处理与清洗,以及通过数据可视化技术(如使用Matplotlib生成图表),从业者可以系统性地解构比赛,评估球队进攻效率(例如计算预期进球xG)和球员表现。

weixin_33443972的博客 330

从奥运铅球数据到可视化分析:Python爬虫与Matplotlib实战

数据可视化作为数据分析的关键环节,通过图形化手段将复杂数据转化为直观洞察,其原理在于利用人类视觉系统高效识别模式与趋势。在技术层面,Python生态中的Matplotlib、Seaborn等库提供了强大的绘图能力,结合Pandas进行数据处理,能够高效完成从数据清洗到图表生成的完整流程。这类技术在实践中价值显著,尤其在体育数据分析领域,能够揭示比赛动态、选手表现与成绩分布等多维度信息。例如,在奥运会铅球项目分析中,通过轮次趋势图可以直观展示选手竞技状态变化,而箱线图则能清晰呈现成绩分布与统计特征。本文以20

weixin_33087827的博客 806

Python多技术融合项目:音乐播放器开发

Python提供了多种强大的库来进行数据可视化,其中最常用的包括:Matplotlib:一个低级别的绘图库,提供丰富的图表类型,适合快速绘制和展示数据。Seaborn:基于Matplotlib构建的高级绘图库,擅长统计图表的绘制,界面更加美观。Plotly:一个可以创建交互式图表的库,数据点可以进行缩放和查看详细信息,适用于Web应用。Bokeh:适用于Web浏览器的交互式可视化库,支持实时数据流的可视化。Altair。

weixin_35749786的博客 712

python爬虫scrapy框架无法生成csv文件是怎么回事_Python使用Scrapy框架爬取数据存入CSV文件(Python爬虫实战4)...

1. Scrapy框架Scrapy是python下实现爬虫功能的框架,能够将数据解析、数据处理、数据存储合为一体功能的爬虫框架。2. Scrapy安装1. 安装依赖包yum install gcc libffi-devel python-devel openssl-devel -yyum install libxslt-devel -y2. 安装scrapypip install scrapypi...

weixin_39551366的博客 874

打工助手v3.8:RPA式数据录入辅助工具,告别重复劳动

RPA(机器人流程自动化)通过模拟人工操作实现界面级自动化,其核心原理是将任务拆解为数据源、映射层和执行层,从而在不依赖系统接口的情况下完成数据录入。这种技术能显著减少重复劳动,提升操作准确性和效率,尤其适用于Excel与业务系统间的数据搬运、表单批量填写等场景。打工助手-数据录入辅助工具v3.8正是基于这一思路,通过可配置的字段映射和节奏控制,帮助运营、财务等岗位高效完成批量录入,并内置去重、失败重试等机制,将成功率提升至99%。

weixin_42523326的博客 275

计数译码驱动显示电路实验报告_京东方G0A电路、阵列基板、显示 装置及驱动方法广州威彩...

图1、实施例二所述的选择子单元的结构示意图图2、实施例四所述的GOA电路结构示意图图3、实施例七所述的阵列基板的局部结构示意图图4、实施例所述的极性反转驱动方法的第一场的各信号时序图图5、实施例所述的极性反转驱动方法的第二场的各信号时序图图6、实施例所述的极性反转驱动方法的第三场的各信号时序图图7、实施例所述的极性反转驱动方法的第四场的各信号时序图图8、为图4所示时序下,实施例八所述显示...

weixin_35696112的博客 925

python爬虫scrapy框架无法生成csv文件是怎么回事_Python使用Scrapy框架爬取数据存入CSV文件...

1. Scrapy框架Scrapy是python下实现爬虫功能的框架,能够将数据解析、数据处理、数据存储合为一体功能的爬虫框架。2. Scrapy安装1. 安装依赖包yum install gcc libffi-devel python-devel openssl-devel -yyum install libxslt-devel -y2. 安装scrapypip install scrapypi...

weixin_39640646的博客 652

大智慧L2实时api接口的逐笔委托功能执行代码分享

用过l2行情接口的投资者应该都了解大部分的接口都是有逐笔委托功能的,那么大智慧L2实时api接口也有着很强大的逐笔委托功能,投资者可以通过这个逐笔委托功能可以看到一个股票的每天出现的全部委托指令,那么在这个逐笔委托功能里包含了委托价格、委托时间、委托量和委托方向四个要素!那么接下来小编就分享一下大智慧L2实时api接口的逐笔委托功能执行代码!那么在这里提个醒:投资者可以在大智慧L2实时api接口进行设置过滤,在逐笔委托列表里,就仅仅只会显示超过设置委托量或委托额的委托单,而不再显示小单。

Qq_2037696191的博客 3732

【进阶】【Python网络爬虫】【15.爬虫框架】scrapy入门(附大量案例代码)(建议收藏)

一、爬虫框架 1. 什么是框架? 2. 初期如何学习框架? 二、scrapy 入门 1. 网络爬虫 请求数据 解析数据 保存数据 2. scrapy安装 安装方式 全局命令 项目命令 案例 - scrapy 下厨房网爬取 settings.py spiders blood.py 案例 - scrapy爬取哔哩哔哩网 settings.py items.py pipelines.py iders libi.py - 基于终端指令的持久化存储(简单)不推荐 libi,py - 基于管道的持久化存储方式(通用)

weixin_43612602的博客 1373

Android 14.0 开机广播接收慢广播延迟问题分析

在14.0的系统rom定制化开发中,在某些时候在接收开机广播的时候发现,过了一分钟才收到开机广播,接下来就需要分析下 开机广播的相关分发机制,来处理下相关问题

安卓兼职framework和app工程师的博客 631

Python爬虫实战:研究Pandas,构建车质网各车型数据采集和分析系统

研究结果表明,通过网络爬虫技术可以有效地获取公开的汽车投诉数据,这些数据经过适当的清洗和处理后,可以揭示出丰富的汽车质量信息。)作为国内专业的汽车质量投诉受理平台,自 2010 年成立以来,已累计接收消费者投诉信息超过 200 万条,这些数据包含了车型、投诉时间、投诉问题、处理状态等多维度信息,具有极高的分析价值。:通过对车质网数据的分析,能够挖掘出有价值的汽车质量信息,为消费者购车提供参考,为汽车厂商改进产品质量和服务提供依据,同时也能为相关监管部门提供数据支持。

ylfhpy的博客 938

协同过滤算法的基于网络爬虫的热门图书推荐系统

核心功能开发中,管理员功能模块是重点。管理员可对用户进行全生命周期管理,包括注册审核、权限分配、账号禁用等操作,保障系统用户数据安全;图书信息管理功能支持图书基本信息录入、分类管理、热门标签设置,结合Spider爬虫获取的图书数据进行清洗与整合,确保图书资源的丰富性与准确性;图书论坛管理模块实现帖子审核、评论管理、违规处理等功能,维护论坛良好交流秩序。在关键技术实现方面,利用Spider爬虫技术,从图书电商平台、资讯网站等多渠道抓取图书数据,并通过数据预处理技术对采集的数据进行去重、纠错;

QQ58850198的博客 1937

【WorkBuddy专栏32】从「分文件夹」到「组队打仗」——WorkBuddy v5.0项目模式深度拆解

【WorkBuddy专栏32】从「分文件夹」到「组队打仗」——WorkBuddy v5.0项目模式深度拆解

AI人人懂 297

【Python办公】用 Selenium 自动化网页批量录入

本文介绍了一个用于上海区批量入账的网页自动化工具auto_fill.py。该工具通过Selenium自动打开本地页面,点击"新增一行"按钮扩展表单至50行,并批量填充5列数据。数据支持从CSV文件读取或自动生成示例数据补齐。工具优先连接Chrome远程调试端口(9222),失败时回退到Chrome/Edge/Firefox浏览器。核心功能包括数据准备、浏览器驱动创建和自动化表单填写流程,可显著提升财务入账效率,减少人工操作错误。使用前需开启Chrome远程调试或直接运行脚本,适用于重复性

weixin_42636075的博客 562

TenserRt平台SMOKE 3D目标检测部署完整教程:从理论到实践

本教程详细介绍了在RK3588平台上部署SMOKE 3D目标检测模型的完整流程。SMOKE是一种创新的单阶段单目3D检测方法,通过关键点估计直接预测3D目标信息,有效解决了深度信息缺失等挑战。文章从理论基础出发,解析了SMOKE的核心算法和网络架构,包括DLA-34主干网络和关键点中心化策略。同时提供了详细的Docker环境配置、模型导出到ONNX格式的实践指南,以及TensorRT引擎构建和性能优化的关键技术要点。该教程为开发者在嵌入式平台上实现高效3D目标检测提供了完整的技术参考。

LXY_LOVE36的博客 371

把 LangGraph 当“工作流引擎”用:与传统 BPM 的差异与融合策略

首先,我们来回顾一下有限状态机(FSM)的基本定义——一个 FSM 可以用一个五元组MQΣδq0FMQΣδq0​FQQQ有限状态集合,包含 FSM 所有可能的状态;Σ\SigmaΣ有限输入字母表,包含 FSM 所有可能的输入;δ\deltaδ状态转移函数,定义了 FSM 从当前状态q∈Qq \in Qq∈Q接收输入σ∈Σσ∈Σ后,转移到的下一个状态q′∈Qq' \in Qq′∈Q,即δQ×Σ→QδQ×Σ→Q。

AI 原生应用开发的博客 227

零基础Python学习路线:语法、数据分析、爬虫与综合实战

编程学习从来不是盲目堆积知识点,而是需要清晰的学习路径设计。对于零基础学习者而言,Python入门的关键不在于刷完多少集教程,而在于能否构建“语法基础→数据处理→数据采集→综合实战”的完整闭环。从通用概念看,Python生态的核心支柱是以Pandas为代表的数据分析工具链和以requests、BeautifulSoup为核心的网络爬虫技术原理。前者通过DataFrame和分组统计实现高效数据清洗与量化分析,后者借助HTTP请求与HTML解析将非结构化网页转化为结构化数据,两者结合便构成了自动化数据采集与分析

cuiji1279的博客 381

Autosar CAN 网络管理测试用例(3)——Repeat Message Timer 时间测试

Autosar CAN 网络管理测试用例(3)——Repeat Message Timer 时间测试

蚂蚁小兵 2465

在职场不相信越努力越幸运,而是需要越努力越有价值

最近刷微博,看到一个热搜“休息羞耻”

大模型教程的博客 453

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Python零基础学习路线:以项目驱动掌握爬虫与数据分析

编程学习常陷入“视频收藏即学会”的误区,真正的技能来自动手构建。Python以简洁语法成为入门首选,其学习核心在于理解变量、函数与数据结构等基础,再通过第三方库扩展能力。网络爬虫与数据分析是检验Python功底的典型场景:利用requests与BeautifulSoup采集网页数据,借助Pandas进行清洗统计,再用Matplotlib可视化呈现,形成“采集-处理-展示”的完整数据流水线。针对零基础学习者,以项目驱动方式将长教程拆解为语法基础、爬虫入门、数据分析、综合实战等阶段,能显著提升知识转化率。同时,

weixin_30984001的博客 307

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【Python爬虫】利用爬虫抓取双色球开奖号码,获取完整数据,简洁45行代码实现,更新时间2023-06-28

链接:https://pan.baidu.com/s/18oE308_NVNPaCOACw_H5Hw?它将只爬取最近30期的双色球开奖号码,并将结果写入到名为 "双色球开奖结果.csv" 的文件中。利用爬虫抓取双色球开奖号码,获取完整数据,简洁45行代码实现,更新时间2023-06-28。这两个代码预测的号码不一样,可能是因为使用的模型不一样导致的。再做一个模拟双色球游戏,如果选择的号码中了,会显示绿色。这个预测方式好像有点简单了,弄一个多层感知机进行预测。这是网上的数据,怎么将它爬取下来。

weixin_55008315的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

本地爬虫软件怎么选?

两款均为的采集工具,但定位完全互补,覆盖绝大多数个人 / 企业本地抓取需求,下面分开介绍、对比、场景选型。

lewell789的博客 1802

爬虫分析-基于Python的空气质量数据分析与实践

Pandas是Python当中的一个拓展的库,Pandas里面包含了大量的标准数据类型并且提供了高效操作大型数据的工具,对于数据的处理,pandas可以做到非常的高效,并且可以与多种类库共同使用,对编程者非常友好。同时Pandas也提供了集中数据结构供使用者使用:1. Series: 一维数组,类似于List列表的一种数据结构,但是Series与List有一些不同之处,就是Series只允许储存相同数据类型的数据,这样有利于内存分配同时提高运算效率。数据库中相同列的数据也是起着同样作用。

m0_73484725的博客 6359

【Python爬虫】利用爬虫抓取双色球开奖号码,获取完整数据并通过随机森林和多层感知两种模型进行简单的预测

【Python爬虫】利用爬虫抓取双色球开奖号码,获取完整数据并通过随机森林和多层感知两种模型进行简单的预测

m0_61388098的博客 2710

Python网页数据自动录入Excel:从爬虫到表格的完整方案

从网页中提取结构化数据并整理成表格,是数据采集与自动化办公中的常见需求。其核心原理是通过HTTP请求获取HTML源码,借助解析库定位目标元素,再通过数据清洗与格式化写入电子表格。这类技术能显著降低重复劳动,提高数据整理的准确性与效率,广泛应用于商品比价、信息监测、报表生成等场景。围绕Python生态,这套基于requests、BeautifulSoup与openpyxl的方案,可完整实现网页数据自动录入Excel,并覆盖实战案例与常见问题排查。

weixin_34221036的博客 367

JSON与CSV格式对比及Python读写转换实战指南

在数据处理与文件交换场景中,JSON和CSV是两种最基础也最常用的数据格式。CSV以纯文本表格承载扁平数据,简单却易受编码和分隔符影响;JSON则用嵌套结构表达复杂关系,自带类型体系,广泛用于接口响应、配置文件与爬虫数据。理解二者在结构、类型和典型应用上的差异,是选择合适存储方案的前提。Python标准库提供了简洁的读写接口,但编码乱码、大文件处理、JSON截断报错、嵌套数据扁平化等细节却常让开发者陷入困境。掌握csv与json模块的核心用法、互转技巧以及高频率坑位排查思路,能显著提升数据清洗与格式转换的效

weixin_42525289的博客 176
上一篇: ajax动态加载快速查看(XHR)
下一篇: python scrapy介绍+豆瓣案列
brkalsy
博客等级 码龄6年 9粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值