上一篇详细介绍了爬取过程,这篇主要介绍用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,即页数Listproductid={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='.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:ad().decode('gbk')page
本文发布于:2024-01-28 16:32:35,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064307608752.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |