手机型号抓取

news2024/11/21 0:21:33

Code处理结果:DataFrame 及 流程
方式①:每个页面的数据处理成df, 然后再合并df , pd.concat()/ df.append() 循环合并
方式②:原始数据中,每个页面的数据存储在一个列表中,然后页面中的每条数据以字典单元形式盛放在列表中,因此,策略是可以先通过aList.extend(bList)方法,把所有的需要的n个页面中的列表中的字典(每条记录)总体组装在一个总列表中 --》 然后再转成一个总的df
个人感觉方式②的效果会更高效一些 !!!


import requests
import datetime
import time
import re
import json
import pandas as pd

url = f'http://model.super202.cn/getJixingData.html?page=1&limit=100&sousuo='
requ = requests.get(url)

requ.headers

{'Server': 'nginx', 'Date': 'Mon, 30 Oct 2023 10:47:54 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Accept-Encoding', 'Strict-Transport-Security': 'max-age=31536000', 'Content-Encoding': 'gzip'}

# 每一个页面请求出来的结果
requ.json()['data']
json.loads(requ.text)

# 方式1:

# 初始化
start_num = 1
data = pd.DataFrame()

while 1:
    
    try:
        page_num = start_num
        
        print(f'正在获取{page_num}页……')
        
        url = f'http://model.super202.cn/getJixingData.html?page={page_num}&limit=100&sousuo='
        requ = requests.get(url)
        df = pd.DataFrame(requ.json()['data'])

        if df.shape[0] == 0:
            print(f'{page_num}-数据获取完毕')
            break

        else:
#             data = data.append(df,ignore_index=True) # FutureWarning
            
            data = data = pd.concat([data,df],ignore_index=True) 
             
            start_num = start_num + 1
        
            
    except Exception as e:
        print(str(e))
        break

正在获取1页……
正在获取2页……
正在获取3页……
正在获取4页……
正在获取5页……
正在获取6页……
6-数据获取完毕

# 查看前5行
data[:5]

# 方式2:

# 初始化
start_num = 1

aList =[]

while 1:
    
    try:
        page_num = start_num
        
        print(f'正在获取{page_num}页……')
        
        url = f'http://model.super202.cn/getJixingData.html?page={page_num}&limit=100&sousuo='
        requ = requests.get(url)
        
        bList = json.loads(requ.text)["data"]
        
        

        if len(bList) == 0:
            print(f'{page_num}-数据获取完毕')
            break

        else:   
            aList.extend(bList)
            start_num = start_num + 1
            
    except Exception as e:
        print(str(e))
        break
        

res=pd.DataFrame(aList) 
        
# print(res)
正在获取1页……
正在获取2页……
正在获取3页……
正在获取4页……
正在获取5页……
正在获取6页……
6-数据获取完毕

# 导出结果:

result.to_csv(r'D:\JixingData.csv',encoding='utf_8_sig')

# 单个查询
result.query('jixing=="V2068A"')

在这里插入图片描述

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

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

相关文章

数据查找(search)-----线性表查找

目录 前言 线性表查找 1.无序表查找 2.无序表查找 3.分块查找 前言 前面我们已经学习过了相关数据结构的知识,那么今天我们就开始去学习数据的查找,在不同的数据结构里面去查找目标数据,这就是数据的查找算法。今天就从线性结构的表去查…

QMS质量检验管理|攻克制造企业质量检验难题,助力企业提质增效

在日益激烈的市场竞争中,对产品质量严格把关,是制造企业提高核心竞争力与品牌价值的关键因素。那如何高效、高质地完成产品质检工作?这就需要企业在工业质检中引进数字化技术加以辅助,进而推动智能制造高质量发展。 蓝库云QMS质量…

VR全景对比在行业中如何呈现优势?功能有多强大?

我们在买车、买房或者是挑选旅游景区的时候,总是拿不定注意,彼此之间差异化细节处展现的并不明显,往往一个细节需要翻来覆去好几遍才能看懂。现在VR全景对比打破传统图片对比方式,让差异化效果更快展现! VR全景对比是通…

Simulink查表法实现NTC温度计算模型

目录 前言 把NTC数据导入到excel 把excel数据导入Matlab 拟合NTC温度曲线 查表实现温度计算 总结 前言 在实际项目中需要对NTC对某些区域进行温度采样和做一些系统层面的保护等等,比如过温降载,过温保护,这时就需要对NTC或者其他的温度传…

Docker之docker-compose(介绍,安装及入门示例)

文章目录 一、docker-compose介绍Compose 中有两个重要的概念: 二、docker-compose安装三、docker-compose简单示例参考网址: 一、docker-compose介绍 Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。 Compo…

第7讲:VBA中利用FIND的代码实现多值查找实例

《VBA代码解决方案》(10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好…

diffusers-AutoPipline

https://huggingface.co/docs/diffusers/tutorials/autopipelinehttps://huggingface.co/docs/diffusers/tutorials/autopipelineAutoPipeline会自动检测要使用的正确流程类,这样可以更轻松地加载与任务相对应的检查点,而无需知道具体的流程类名称。 1.…

.net core iis 发布后登入的时候请求不到方法报错502

.net core iis 发布后登入的时候请求不到方法报错502 502 bad gateway 502 - Web 服务器在作为网关或代理服务器时收到了无效响应。 您要查找的页面有问题,无法显示。当 Web 服务器(作为网关或代理)与上游内容服务器联系时,收到来自内容服务器的无效…

配置管理工具-Confd

1 简介 1.1 Confd介绍 Confd是一个轻量级的配置管理工具。通过查询后端存储,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。对应的后端存储可以是etcd,redis、zookeeper等。[1] 通过…

2024年湖北黄冈建安ABC建筑企业专职安全员报名事项

2024年湖北黄冈建安ABC建筑企业专职安全员报名事项 专职安全员一般是指从事安全管理方面的工作,普遍的是建筑施工行业,建筑工地安全员,专职安全员C证,黄冈建筑安全员ABC-建筑单位在黄冈,只能在黄冈报考建筑安全员ABC。…

div 中文本太长用省略号隐藏展示,鼠标放上来弹出提示

需求描述 div 中有一行文本。 文本特别特别的长, 反正是超出了div所容纳的长度。 你呢, 现在想要的效果是: 1.文本就展示一行,多余的部分用省略号代替展示; 2.鼠标放上去的时候,用tip的方式展示完整的信息…

【AIFEM案例分析】药柱随机响应分析

AIFEM是由天洑自主研发的一款通用的智能结构仿真软件,助力用户解决固体结构相关的静力学、动力学、振动、热力学等实际工程问题,软件提供高效的前后处理工具和高精度的有限元求解器,帮助用户快速、深入地评估结构的力学性能,加速产…

三分钟学习一个python小知识9-----------我的对python中random的理解

文章目录 random库一、生成随机浮点数二、生成指定范围内的随机整数三、生成指定范围内的随机浮点数四、从序列中随机选择元素总结 random库 在Python中,random库是用于生成随机数的。 提示:以下是本篇文章正文内容,下面案例可供参考 一、生…

xx is not in the sudoers file. This incident will be reported

虚拟机再执行 sudo 命令的时候,出现类似这样的报错: xx is not in the sudoers file. This incident will be reported 其实,背景是这样的,我自己没事瞎作死,干了个这事,给 /etc/sudoers 文件的最下面一行…

软件开发全文档归档,开发、管理、实施、运维、服务巡检、信息安全、安全运维

在当今高度信息化的时代,软件开发已成为推动社会进步和发展的重要力量。软件开发过程中,文件支撑作为关键的一环,对于保障项目的顺利进行和产品的质量具有不可替代的作用。本文将探讨软件开发所需的主要文件及其作用。 一、引言 软件开发是…

C++核心编程---友元

目录 友元 友元的关键字 friend 友元的三种实现方式 1. 全局函数做友元 2. 类做友元 3. 成员函数做友元 友元 生活中你的家有客厅(Public),有你的卧室(Private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进…

通过率90%的软件测试简历长什么样?

作为软件测试的从业者,面试或者被面试都是常有的事。 可是不管怎样,和简历有着理不清的关系,面试官要通过简历了解面试者的基本信息、过往经历等。 面试者希望通过简历把自己最好的一面体现给面试官,所以在这场博弈中&#xff0…

抖音小店怎么做?五步教你做好抖店,新手快来看!

我是电商珠珠 新手在做抖音小店的时候,往往在入驻完成之后,就不知道后续应该怎么操作了。 我将抖店的运营分为了五个步骤,可以供大家参考。 一、类目 开店之前选择好的类目,后续如果想要更改的话可以随时更改。 不过需要下架…

vue中watch实现翻译案例

翻译案例需要向在线接口发起一个Ajax请求,所以需要引入axios库。当输入一个单词或者文字时自动发起翻译请求。所以可以使用watch监听器来监听属性是否变更,当发生变化即发起翻译请求。 // 该方法会在数据变化时调用执行 // newValue新值, oldValue老值&…

linux环境mysql安装配置踩坑

背景: 最近公司项目希望改造工作流ACTIVITI5.x的源码框架支持大数据量(历史表单表数据达到10亿), 方案暂定为 1.使用动态数据源 2.将工作流归档历史数据数据保存到一个库中这里定义为读库, 3.在办办件的数据单独一个库…