Python爬取网易精挑细选的女生内衣信息,探寻颜色偏好和尺码分布……
网易商品评论爬取
分析网页
评论分析❀❀》,先点击![Python 爬取网易严选妹子内衣信息,探究颜色偏好、尺寸分布…]()
在产品页面打开Chrome控制台,切换到网络页面,然后将产品页面切换到评价选项卡,选择评论文字,例如“薄,佩戴舒适,满意”,然后在网络中搜索,
可以发现通过listByItemByTag.json发送的评论文本,点击输入请求,复制请求的URL:
you.163.com/xhr/comment...
粘贴URL 进入Postman,一一尝试url搜索参数,最后可以发现只需要保留itemId和page这两个请求参数即可。
请求返回的是JSON格式的数据,下面对JSON进行分析不难发现,所有评论数据都存储在commentList中,我们只需要存储数据即可。
下面是如何获取itemId信息。这是产品的 ID。我们回到网易精选首页继续分析。
产品ID获取
当我们在搜索框中输入关键字进行搜索时,我们也可以发现网络中有很多请求。这时,我们可以观察每个请求,并发送请求文件的名称(这里需要一些经验,乖巧的程序员不会乱起名字),我们在搜索时就可以找到该请求并显示搜索结果。
搜索通常是搜索,所以我们锁定这个search.json请求。同样将请求URL复制到Postman中,对参数一一进行验证,最后保留page和keyword这两个参数。
该请求返回的数据较多,所以还是需要耐心分析数据。还可以发现result->data->direct->searcherResult->result下的id值就是我们想要获取的商品ID。以上,我们基本完成了前期的分析工作,现在开始编写代码。
写代码
获取商品ID
def search_keyword(keyword):
uri = 'https://you.163.com/xhr/search/search.json'
query = {
"keyword": keyword,
"page": 1
}
try:
res = requests.get(uri, params=query).json()
result = res['data']['directly']['searcherResult']['result']
product_id = []
for r in result:
product_id.append(r['id'])
return product_id
except:
raise
复制代码
这里我获取第1页的商品ID。下面是利用商品ID获取不同商品下的评论信息。
通过前面的分析,我们可以知道评论信息的形式如下。对于这种形式的信息,我们可以很方便的将其存储在MongoDB中,然后慢慢分析数据的内容。
{
"skuInfo": [
"颜色:肤色",
"杯码:75B"
],
"frontUserName": "1****8",
"frontUserAvatar": "https://codeqd.com/zb_users/upload/2023/09/f8f20a77db47b8c66c531c14c8b38ee7.jpg",
"content": "质量好,穿着舒服",
"createTime": 1555546727635,
"picList": [
"https://codeqd.com/zb_users/upload/2023/09/742f28186d805571e4b3f28faa412941.jpg"
],
"commentReplyVO": null,
"memberLevel": 4,
"appendCommentVO": null,
"star": 5,
"itemId": 1680205
}
复制代码
对于MongoDB,我们可以自己构建,也可以使用免费的在线服务。这里我介绍一个免费的MongoDB服务站点:mlab。使用起来非常简单,就不详细介绍使用过程了。
现在数据库可用了,下一步就是将数据存储在其中。
def details(product_id):
url = 'https://you.163.com/xhr/comment/listByItemByTag.json'
try:
C_list = []
for i in range(1, 100):
query = {
"itemId": product_id,
"page": i,
}
res = requests.get(url, params=query).json()
if not res['data']['commentList']:
break
print("爬取第 %s 页评论" % i)
commentList = res['data']['commentList']
C_list.append(commentList)
time.sleep(1)
# save to mongoDB
try:
mongo_collection.insert_many(commentList)
except:
continue
return C_list
except:
raise
复制代码
最后一次抓取完成后,总共有7000多条数据。现在您可以根据您的个人需求进行一些分析。
爬取数据MongoDB链接
conn = MongoClient("mongodb://%s:%s@ds149974.mlab.com:49974/you163" % ('you163', 'you163 = conn.)) db you163 mongo_collection = db.you163
商品评论数据分析
激动人心的时刻到了,找出女孩们的喜好!
首选颜色
先来看看女生最喜欢的颜色
可见黑色是遥遥领先的,所以这里需要注意一下!然后用饼图观察不同颜色的比例
那么在这些颜色中,你喜欢她吗?
尺码分布
没问题,75B是大多数女生的尺码。如果你还没有研究过这个罩杯尺寸,也没关系。我为你制作了一个比较表。放心拿走吧
产品评论
最后来看看妹子们对产品的评价
至于星级,大部分都是五星级评价。毕竟,打着“精挑细选”的旗号,品质一定要保证。 。来看看评论区女生最喜欢用什么词来形容它
舒服,很舒服,很舒服;满意,非常满意,非常满意。就像加入了“赞美小组”一样。看来女生首先关心的就是舒服不舒服。毕竟,适合自己,质量才是最重要的!
好啦,看完上面的分析,你是否单身并想脱单呢?如果你身边已经有一个温柔的女孩,是不是应该去讨好她呢?
完整代码
github.com/zhouwei713/…
作者:周洛波
链接:https://juejin.im/post/5da6776595e481来源:掘金
版权归作者所有保留权利。商业转载请联系作者获取授权。非商业转载请注明来源。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。