抓取京东/淘宝类数据#Javascript#商品详情图片

news2024/12/25 12:34:31

提出问题

如何在京东商城爬取出各个商品的相关信息(价格、名称、评价、店铺名等等),比如,打开web京东网站,那么商品展示列表的所有商品的信息,怎么爬下来,怎么保存到表格中?

我们来看看怎么实现这个功能。

 之前用的方法:

let temp = []
var lists = $('#J_goodsList li.gl-item')
$.each(lists,function(idx,item){
 temp.push({
   id:$(item).data('sku'),
   goods_img:$(item).find('img').attr('src'),
   goods_name:$(item).find('.p-name em').text(),
   market_price:$(item).find('.p-price i').text(),
 })

  1. })

console.log(temp)

1.通过分类查询京东、淘宝的商品,比如搜索“电子产品”,获取到电子产品的列表

2.通过JavaScript操作页面dom元素,获取到商品信息数组

3.通过在线工具将json数组转成excel文件

4.处理图片地址,包裹上img标签,通过浏览器加载并下载图片

 //img13.360buyimg.com/n7/jfs/t1/181788/14/25091/44594/63c0c017F11c3c118/4521648b22e0dd3a.jpg 

  • 原图片
  • 将链接中的n7改成n1(尺寸变大),并且加上img标签
  • 将图片下载到本地

<img src=https://img13.360buyimg.com/n1/s450x450_jfs/t1/181788/14/25091/44594/63c0c017F11c3c118/4521648b22e0dd3a.jpg />

5.将生成的excel文件数据和EDI网站商品数据合并

6.将商品图片上传到服务器

7.手动给每个商品添加商品详情,这个是主要的工作量

这种方式主要有两个缺点:

  • 列表获取不到商品详情图片,需要手动去抓取

  • 过程比较繁琐,有很多需要手动操作的地方

优化后直接用API调用,稳定性好,支持高并发。

    1、注册账号获取APIkey和密钥,点击注册

    2、查看API文档,获取请求参数和响应参数表。

在搜索框输入关键字:口红。

解决思路

1、打开网站,输入关键字,点击搜索按钮;

2、将右侧下拉框拉到最下面,保证获取到全部的数据;

3、将每一个商品进行遍历,把每个item中的价格、名称、店铺、评价数量全部获取到;

4、将获取的信息,装在表格中。

 统一将以上功能封装在API中...

 

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

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

相关文章

嵌入式系统调研报告

嵌入式系统调研报告 一、发展历程与趋势二、行业现状三、嵌入式工程师对职业生涯的看法 一、发展历程与趋势 嵌入式系统的发展历程可以分为四段&#xff1a; 20世纪60年代。当时&#xff0c;计算机技术还处于早期阶段&#xff0c;主要应用于科研和军事领域&#xff0c;比如&am…

【快速解决】解决谷歌自动更新的问题,禁止谷歌自动更新,如何防止chrome自动升级 chrome浏览器禁止自动升级设置方法

目录 问题描述 解决方法 1、搜索栏搜索控制面板 2、搜索&#xff1a;服务 ​编辑 3、点击Windows工具 4、点击服务 ​5、禁止谷歌更新 问题描述 由于我现在需要装一个谷歌的驱动系统&#xff0c;但是目前的谷歌驱动系统的版本都太旧了&#xff0c;谷歌自身的版本又太新了…

【scala】使用gradle和scala构建springboot程序

零、版本说明: springboot: 2.7.18 使用log4j2&#xff0c;不使用springboot自带的logback scala版本&#xff1a;2.11 jackson版本&#xff1a;2.16.0 一、依赖&#xff1a; buildscript {dependencies {// using spring-boot-maven-plugin as package toolclasspath("…

Docker实战指南:编辑Dockerfile、编译镜像、启动容器,一网打尽

万能dockerfile编写模板文件 FROM openjdk:11.0 as builder WORKDIR application ARG JAR_FILEtarget/*.jar COPY ${JAR_FILE} application.jar RUN java -Djarmodelayertools -jar application.jar extractFROM openjdk:11.0 WORKDIR application COPY --frombuilder applica…

【浏览器渲染-输入Url到页面渲染全流程】

概述 在面试题中有一道经典面试题就是浏览器输入url之后发送了什么&#xff0c;看了下网上的大多数文章都感觉不太全&#xff0c;所以这里梳理了比较全的流程&#xff0c;如果有误&#xff0c;欢迎评论指正。本文大致是从以下内容概览入手&#xff0c;有需要的可以跳转到感兴趣…

【C语言】函数atoi的详解与实现~

一、atoi函数的讲解 函数声明&#xff1a;int atoi( const char *string );头 文 件 &#xff1a;<stdlib.h>函数功能&#xff1a;对指针string所指向的字符串&#xff0c;将其中的一段连续的(0~9)数字按照( int )返回&#xff1b;函数特点&#xff1a;&#xff08;这里…

ElasTool v3.0 程序:材料弹性和机械性能的高效计算和可视化工具包

分享一个材料弹性和机械性能的高效计算和可视化工具包&#xff1a; ElasTool v3.0。 感谢论文的原作者&#xff01; 主要内容 “弹性和机械性能的高效计算和可视化对于材料的选择和新材料的设计至关重要。该工具包标志着材料弹性和机械性能计算分析和可视化方面的重大进步…

C++语言学习(二)—— C++语言的基本知识

目录 一、面向对象的三个核心概念 二、C语言中的I/O口 三、C语言中的数据类型​​​​​​​ 3.1 逻辑类型 3.2 引用类型 3.2.1 引用作为函数参数 3.2.2 引用作为函数返回值 3.2.3 引用作为类成员 3.3 类类型 四、 C语言中的内联函数 五、 函数重载 六、 带默认形参…

【项目】均衡代码评测

TOC 目录 项目介绍 开发环境 主要技术 项目实现 公共模块 日志 工具类 编译运行模块 介绍 编译 运行 编译和运行结合起来 业务逻辑模块 介绍 MVC模式框架 模型&#xff08;Model&#xff09; 视图&#xff08;View) 控制器&#xff08;Controller&#xff09…

【包远程运行安装】SpringBoot+Mysql实现的在线音乐播放系统源码+运行教程+开发文档(参考论文)

今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的千千在线音乐播放系统&#xff0c;主要实现了在线音乐的播放和下载&#xff08;支持付费和开通VIP功能&#xff09; 除脚手架功能以外下面是系统的功能&#xff1a; 前台普通用户&#xff1a;注册、登录…

Java笔记(一)基础、流程控制、数组、面向对象基础

堆&#xff08;Heap&#xff09; &#xff1a;此内存区域的唯一目的就是存放对象实例&#xff0c;几乎所有的对象实例都在这里分配内存。这一点在Java虚拟机规范中的描述是&#xff1a;所有的对象实例以及数组都要在堆上分配。栈&#xff08;Stack&#xff09; &#xff1a;是指…

住宅IP是什么?与机房IP有哪些区别?

随着互联网的普及和发展&#xff0c;不同类型的IP地址在网络世界中扮演着重要角色。在网络架构中&#xff0c;机房IP和住宅IP是两种常见的IP类型&#xff0c;它们各有优劣&#xff0c;适用于不同的场景和需求。本文将对机房IP和住宅IP进行技术对比&#xff0c;并给出选择合适IP…

视频汇聚平台EasyCVR启用图形验证码之后调用login接口的操作方法

视频综合管理平台EasyCVR视频监控系统支持多协议接入、兼容多类型设备&#xff0c;平台可以将区域内所有部署的监控设备进行统一接入与集中汇聚管理&#xff0c;实现对监控区域的实时高清视频监控、录像与存储、设备管理、云台控制、语音对讲、级联共享等&#xff0c;在监控中心…

2020-Structure Aware Negative Sampling in Knowledge Graphs

摘要 使用对比估计学习知识图中实体和关系的低维表示是一种可扩展且有效的推断连接模式的方法。对比学习方法的一个关键方面是选择产生硬负样本的腐败分布&#xff0c;这迫使嵌入模型学习判别表示并找到观察数据的关键特征。虽然早期的方法要么采用过于简单的腐败分布&#xf…

机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】

目录 前言 一、什么是线性回归 二、什么是逻辑回归 三、基于Python 和 Scikit-learn 库实现线性回归 示例代码&#xff1a; 使用线性回归来预测房价: 四、基于Python 和 Scikit-learn 库实现逻辑回归 五、总结 线性回归的优缺点总结&#xff1a; 逻辑回归&#xff08;Logistic…

使用zabbix自动发现规则监控oracle分区表的分区键的合法

一、 创建从数据库查询原始数据脚本 编写脚本query_table.sh vim query_table.sh #!/bin/bash temp_outfile"/tmp/table.source" outfile"/tmp/table.txt" source /home/oracle/.bash_profilesqlplus -s zabbix/zabbix>${temp_outfile}<<EOF c…

Hive SQL必刷练习题:留存率问题(*****)

留存率&#xff1a; 首次登录算作当天新增&#xff0c;第二天也登录了算作一日留存。可以理解为&#xff0c;在10月1号登陆了。在10月2号也登陆了&#xff0c;那这个人就可以算是在1号留存 今日留存率 &#xff08;今日登录且明天也登录的用户数&#xff09; / 今日登录的总…

Redis入门到实战-第十一弹

Redis实战热身Bitmaps篇 完整命令参考官网 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#xff09;&#xff0c;用作数据库、缓存、消息代理和…

Spring boot2.7整合jetcache方法缓存 设置定时刷新 解决多系统同时操作数据问题

上文 Spring boot2.7整合jetcache方法缓存 处理数据发生变化时同步更新缓存 删除缓存操作 解决了 缓存更新的问题 但是 现在有个问题 例如 我们 A系统 和 B系统 同时缓存了这一组数据 但是 A系统数据发生了更新 但是 B系统并不知道 其实 也没有特别好的办法同步通知 但可以控…

复旦大学EMBA肖仰华:人类文明或许将因为AI迎来一段“盘整期”

“君子知道”复旦大学EMBA前沿论坛上&#xff0c;复旦大学计算机学院肖仰华教授曾为企业家同学进行过主题分享。他认为&#xff0c;Sora只是开始&#xff0c;AI或让人类文明进入“盘整期”。      在人工智能的浩瀚世界中&#xff0c;Sora也只是冰山一角。当AI技术“高歌猛…