本帖最后由 创造太阳 于 2020-4-1 20:36 编辑
我给女朋友发了20000句情话,她暂时不想听情话了!(详见:女朋友抱怨不会说情话,用python给她发了20000句!让她见识见识情话大全!https://www.52pojie.cn/thread-1113388-1-1.html(出处: 吾爱破解论坛))
女朋友最近不找我下五子棋了!(详见:女朋友下棋比我厉害,还特别嚣张,不能忍。拿python敲个辅助,看她如何嚣张!https://www.52pojie.cn/thread-1116867-1-1.html(出处: 吾爱破解论坛))
不过也没怼我,上次的表情包好像白存了,不过还是留着吧,万一派上用场了呢?(详见:为了防止女朋友怼我,我就先用python爬了3600个怼人表情包等她来战!https://www.52pojie.cn/thread-1118801-1-1.html(出处: 吾爱破解论坛))
也不知道你们找到女朋友了没有,找到的话,一起来交流研究!(详见:别再酸了,女朋友是不可能发,但是可以用python帮你创造机会搞到一个!搞到来告诉我!https://www.52pojie.cn/thread-1119202-1-1.html(出处: 吾爱破解论坛))
女朋友存了好多网上的男明星的照片,我准备用python全部换成我的脸!https://www.52pojie.cn/thread-1120431-1-1.html(出处: 吾爱破解论坛)
为了知道女朋友的小秘密,我用python爬了榜姐微博下60000个女生小秘密!https://www.52pojie.cn/thread-1123043-1-1.html(出处: 吾爱破解论坛)
女朋友每晚都给我发诱惑图,我用python搞了更多诱惑图反击她!https://www.52pojie.cn/thread-1128807-1-1.html(出处: 吾爱破解论坛)
女朋友要和我拼手速,不得不用python让她见识我的手速!年轻人,不要试图和你不知...https://www.52pojie.cn/thread-1139015-1-1.html(出处: 吾爱破解论坛)
为了看看女朋友生日那天是什么样子,我用python爬了一年的照片!https://www.52pojie.cn/thread-1144764-1-1.html(出处: 吾爱破解论坛)
和女朋友看了《大赢家》,里面出来了柳岩,就和女朋友讨论了一下罩杯的问题。
女朋友说A罩杯是最流行的!优秀的人所有都是A!
我和她友好地讨论了许久!
我觉得她就是在狡辩!绝对是在狡辩!
所有我有必要来用python爬取一下中国女性的罩杯数据!
声明:我是为了证明女朋友是在狡辩!绝不是被赶出来了!!
代码如下(评论里有些照片倒是不错,改点代码就能下载了哦):
[Python] 纯文本查看 复制代码 import requests
import re
import time
from lxml import etree
def cczh(str): #定义一个尺码转换函数,不同的尺寸转换为A/B/C/D/E
if 'E' in str: #如果数据中有E则:
return 'E' #返回E
if 'D' in str:
return 'D'
if 'C' in str:
return 'C'
if 'B' in str:
return 'B'
if 'A' in str:
return 'A'
if 'XXL' in str:
return 'E'
if 'XL' in str:
return 'D'
if 'L' in str:
return 'C'
if 'M' in str:
return 'B'
if 'S' in str:
return 'A'
if '均码' in str:
return 'B'
if '大' in str:
return 'C'
if '小' in str:
return 'A'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
} #设置一个请求头来突破反爬
all_sizes = [] #用一个空列表all_sizes来准备装尺寸数据
"""获得商品id"""
for i in range(1,51): #依次生成1-50来进行网址拼接
#拼接网址
url = "https://list.jd.com/list.html?cat=1315,1345,1364&ev=exbrand_90320&page=" + str(i) + "&sort=sort_rank_asc&trans=1&JL=6_0_0#J_main"
res = requests.get(url,headers=headers).text #用requests的get函数来获取信息,用headers=headers来进行伪装.text转换为文本信息
res_xpath = etree.HTML(res) #转换为xpath类型
sp_ids = res_xpath.xpath('//*[@id="plist"]/ul/li/div/@data-sku') #用xpath提取商品的id
time.sleep(5) #设置5秒延时
for sp_id in sp_ids: #依次从sp_ids中提取sp_id来拼接
"""获得评论size"""
for i in range(1,51): #依次生成1-50来拼接评论网址
url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId="+ str(sp_id) + "&score=0&sortType=5&page=" + str(i) + "&pageSize=10&isShadowSku=0&rid=0&fold=1"
res = requests.get(url,headers=headers).text #用requests的get函数来获取信息,用headers=headers来进行伪装.text转换为文本信息
sizes = re.findall('"productSize":"(.*?)"',res) #用正则表达式获得size信息
print(sizes) #打印一下尺寸信息
for size in sizes: #依次循环sizes中的信息
all_sizes.append(size) #将信息添加到all_sizes中
time.sleep(5) #设置5秒延时
"""进行尺码转换"""
abcds = [] #用一个空列表abcds准备装尺寸数据
for size in all_sizes: #依次循环all_sizes中的信息
size = cczh(size) #用函数cczh来讲size的尺寸进行转换
abcds.append(size) #转换后的数据添加到abcds列表中
print(abcds)
print(len(abcds)) #查看尺寸总数量
"""进行尺寸统计"""
tjs = set(abcds) #用列表abcds创建一个无序不重复元素集tjs,也就是删除重复元素,仅保留【A/B/C/D/E】等
for tj in tjs: #依次从tjs中提取数据
count = 0 #定义一个变量count=0进行计数
for abcd in abcds: #从abcds列表中依次提取数据
if tj == abcd: #如果abcd==tj则:
count += 1 #count = count + 1 数量增加1
print(tj, ": ", count) #打印显示各个罩杯的数量
数据出来了!
631550
E : 3190
A : 144810
None : 1590
B : 331060
C : 132000
D : 18900
从京东数据来看,B的销量遥遥领先!A和C相差不大!E数量相对较小!至于F/G/H……的数量就更少了!
|