scrapy——安智市场app

本文介绍如何利用Scrapy框架爬取安智市场中的APP信息,包括app名、版本、图标等,并将数据存储到MySQL数据库。内容涉及数据库设计、item创建、spider实现、图片下载及数据库存储的配置。
摘要由CSDN通过智能技术生成

scrapy介绍:

Scrapy是python主流爬虫框架,可以很方便的通过url抓取web信息,同时与传统的requests库相比,提供了更多的工具和更高的并发。推荐从官方学习网站上学习。

不过,你一点scrapy资料都不知道也没有关系,读完本文一样能撸出来

scrapy实战:

本篇文章是利用Scrapy扒取安智市场的app详情页,如点击查看和平精英,包括app名、版本号、图标icon、分类、时间、大小、下载量、作者、简介、更新说明、软件截图、精彩内容等,扒取的图片资源icon和市场展示图(app截图)下载到本地,并将所有数据存储到数据库。

考虑的问题:

  • 存储的数据库设计
  • 图片资源链接存在重定向
  • 下载app的图标需为.png后缀
  • ...

需要先熟悉Scrapy框架的同学:点击学习

数据库设计: 

创建的为mysql数据库,名称为app_anzhigame,表名为games,安智市场的市场图限制为4-5张,简介等为1500字以内,图片均为相对地址

# 建库
CREATE DATABASE app_anzhigame CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

USE app_anzhigame;
DROP TABLE games;

# 建表
CREATE TABLE games(
  id INTEGER(11)  UNSIGNED AUTO_INCREMENT COLLATE utf8mb4_general_ci,
  name VARCHAR(20) NOT NULL COLLATE utf8mb4_general_ci COMMENT '游戏名' ,
  versionCode VARCHAR(10) COLLATE utf8mb4_general_ci COMMENT '版本号' NOT NULL DEFAULT 'v1.0',
  icon VARCHAR(100) COLLATE utf8mb4_general_ci COMMENT '游戏图标icon' NOT NULL DEFAULT '',
  type VARCHAR(20) COLLATE utf8mb4_general_ci COMMENT '分类' NOT NULL DEFAULT '',
  onlineTime VARCHAR(20) COLLATE utf8mb4_general_ci COMMENT '上线时间',
  size VARCHAR(10) COLLATE utf8mb4_general_ci COMMENT '大小' NOT NULL DEFAULT '0B',
  download VARCHAR(10) COLLATE utf8mb4_general_ci COMMENT '下载量' NOT NULL DEFAULT '0',
  author VARCHAR(20) COLLATE utf8mb4_general_ci COMMENT '作者',
  intro VARCHAR(1500) COLLATE utf8mb4_general_ci COMMENT '简介',
  updateInfo VARCHAR(1500) COLLATE utf8mb4_general_ci COMMENT '更新说明',
  highlight VARCHAR(1500) COLLATE utf8mb4_general_ci COMMENT '精彩内容',
  image1 VARCHAR(100) COLLATE utf8mb4_general_ci COMMENT '市场图1',
  image2 VARCHAR(100) COLLATE utf8mb4_general_ci COMMENT '市场图2',
  image3 VARCHAR(100) COLLATE utf8mb4_general_ci COMMENT '市场图3',
  image4 VARCHAR(100) COLLATE utf8mb4_general_ci COMMENT '市场图4',
  image5 VARCHAR(100) COLLATE utf8mb4_general_ci COMMENT '市场图5',
  link VARCHAR(200) COLLATE utf8mb4_general_ci COMMENT '爬取链接',
  create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE current_timestamp COMMENT '更新时间',
  PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT '安智市场爬取游戏列表';

 

 创建item:

创建项目scrapy startproject anzhispider,修改items.py

class AnzhispiderItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
  
  • 53
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eqwaak0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值