爬取9000条京东内衣销售数据做关联度算法之二mysql数据库整理、清洗数据

用mysql数据库整理、清洗9000条京东内衣销售数据

上一篇详细介绍了爬取过程,这篇主要介绍用mysql数据库整理数据,爬取详情可参考:
上一篇爬取详情点这里
爬取目的是为了得到数据进行关联度分析(罩杯大小和消费价格的倾向有无关系),这是中间的一篇

1.for循环更改产品id和评论页数,获取大量数据
(这里解释一下为什么页数用0-99页,虽然商品上显示有几万评论,每页10个评论应该有几千页才对,但是京东很多评论100页后是空的;我选了九个商品,价格分别在60 110 160 三个档次 各三个。另外,由于基本上店铺里面都是ABC 小罩杯和 DEF以上的罩杯分开卖,所以为了统一,我只选了只卖ABC三个罩杯的店进行爬取)

下面展示一些 内联代码片

from urllib import request
import json
import numpy
import time  #用于计算程序运行时间
import csv  #用于将得出数据导入csv文件中(csv逗号分隔符,你可以想象是没有格子的excel,用逗号分隔)

starttime=time.time() #启动计时

fileopen=open('bra.csv','w',newline='')
# 打开一个文件,并写入文件。参数1是文件名,参数2是write缩写写入意思,参数3emmm 不好解释,如果没有会写一行空一行
writer=csv.writer(fileopen)
#生成写入对象,想象成一支笔就行

ROW=[] #全局变量用来搜集爬取的特征数据


pagenum=numpy.arange(0,100) #生成0、1、2、3 到99的List,即页数List

productid={
   11276508271:'low',20356806191:'low',10372893109:'low',100000198518:'mid',32207941921:'mid',
           25695145322:'mid',32227619225:'hight',52553994236:'hight',41232098143:'hight'}
# id,还有对应的价格,low是60左右,mid 是110左右,hihgt 是160左右 (Hight单词打错了、。。。,不改了)
wrongpage=0  #会有极少页的格式是错的,爬取不出来,这个记录错误的页码数

接下来是爬取内容的循环以及数据搜集:

##### 以下呢就是爬取过程,只是变动了产品id和页数,可以看之前那篇博客,有非常详细的解释
#我这里稍微增加一些其他的解释就行

# 这里提前解释fomat()这个格式化函数,更改id和页数用 举个例子你就懂,稍后不再解释
# A='aaa{}aaa'  A.format(a) , 格式化后B就代替了A中的{},A变成'aaaaaaa'

url0='https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId={}&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&fold=1'
for id in productid.keys():
    for ii in pagenum:
        url=url0.format(id,ii)
        req=request.Request(url)
        response=request.urlopen(req)

        #不用try的话,有一些格式错误的页码就会停止程序运行,但是这些页码非常少,可以忽略不计
        # 出错的时候try可以直接跳过本次操作继续往下操作
        try:
            page=response.read().decode('gbk')
            page
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值