Skip to content

Commit 2698cc6

Browse files
authored
Add files via upload
1 parent f16cc5b commit 2698cc6

File tree

2 files changed

+39
-42
lines changed

2 files changed

+39
-42
lines changed

auto_comment_plus.py

Lines changed: 17 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,13 @@
99
import requests
1010
from lxml import etree
1111
import jdspider
12-
import yaml
13-
14-
CONFIG_PATH = './config.yml'
1512

1613
jieba.setLogLevel(jieba.logging.INFO)
1714
"""
1815
ck填到下面就好,只支持网页版的Ck
1916
以下为最短格式
2017
"""
21-
with open(CONFIG_PATH, 'r', encoding='utf-8') as f:
22-
cfg = yaml.safe_load(f)
23-
ck = cfg['user']['cookie']
18+
ck = ''
2419

2520
headers = {
2621
'cookie': ck,
@@ -29,15 +24,14 @@
2924

3025

3126
# 评价生成
32-
def generation(pname, _class=0, _type=1):
27+
def generation(pname, _class=0):
3328
list = ['商品名']
3429
list.clear()
3530
list.append(pname)
3631
for item in list:
3732
spider = jdspider.JDSpider(item)
38-
result = spider.getData(3, 3) #这里可以自己改
33+
result = spider.getData(4, 3) #这里可以自己改
3934

40-
# 0是追评 1是评价
4135
# class 0是评价 1是提取id
4236
try:
4337
name = jieba.analyse.textrank(pname, topK=5, allowPOS='n')[0]
@@ -46,29 +40,15 @@ def generation(pname, _class=0, _type=1):
4640
if _class == 1:
4741
return name
4842
else:
49-
datas = {
50-
1: {
51-
"开始": result,
52-
"中间": result, #重复的几率不大,相信我(
53-
"结束": result
54-
},
55-
0: {
56-
"开始": result,
57-
"中间": result,
58-
"结束": result
59-
}
60-
}
61-
if _type == 1:
62-
comments = datas[_type]
63-
return random.randint(3, 5), (
64-
random.choice(comments["开始"]) + random.choice(comments["中间"]) + random.choice(comments["结束"])).replace(
65-
"$", name)
66-
elif _type == 0:
67-
comments = datas[_type]
68-
return (
69-
random.choice(comments["开始"]) + random.choice(comments["中间"]) + random.choice(comments["结束"])).replace(
70-
"$", name)
71-
43+
comments = ''
44+
if len(result) > 8 :
45+
for i in range(8):
46+
comments = comments + result.pop()
47+
else:
48+
for i in range(len(result)):
49+
comments = comments + result.pop()
50+
return 5, (
51+
comments.replace("$", name))
7252

7353
# 查询全部评价
7454
def all_evaluate():
@@ -114,7 +94,6 @@ def ordinary(N):
11494
print(f"\t{i}.开始评价订单\t{oname}[{oid}]")
11595
url2 = f"https://club.jd.com/myJdcomments/saveProductComment.action"
11696
xing,Str = generation(oname)
117-
xing = 5 #写死五星
11897
print(f'\t\t评价内容,星级{xing}:', Str)
11998
data2 = {
12099
'orderId': oid,
@@ -125,7 +104,7 @@ def ordinary(N):
125104
'anonymousFlag': '1'
126105
}
127106
pj2 = requests.post(url2, headers=headers, data=data2)
128-
time.sleep(20)
107+
time.sleep(10)
129108
N['待评价订单'] -= 1
130109
return N
131110

@@ -173,7 +152,7 @@ def sunbw(N):
173152
'saveStatus': 3
174153
}, headers=headers)
175154
print('完成')
176-
time.sleep(50)
155+
time.sleep(5)
177156
N['待晒单'] -= 1
178157
return N
179158

@@ -198,7 +177,7 @@ def review(N):
198177
print(f'\t开始第{i}{oname}')
199178
url1 = "https://club.jd.com/afterComments/saveAfterCommentAndShowOrder.action"
200179
pid, oid = _id.replace('http://club.jd.com/afterComments/productPublish.action?sku=', "").split('&orderId=')
201-
context = generation(oname, _type=0)
180+
context = generation(oname)
202181
print(f'\t\t追评内容:{context}')
203182
req_url1 = requests.post(url1, headers=headers, data={
204183
'orderId': oid,
@@ -208,7 +187,7 @@ def review(N):
208187
'score': 5
209188
})
210189
print('完成')
211-
time.sleep(30)
190+
time.sleep(10)
212191
N['待追评'] -= 1
213192
return N
214193

@@ -247,7 +226,7 @@ def Service_rating(N):
247226
}
248227
pj1 = requests.post(url1, headers=headers, data=data1)
249228
print("\t\t", pj1.text)
250-
time.sleep(25)
229+
time.sleep(15)
251230
N['服务评价'] -= 1
252231
return N
253232

jdspider.py

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def getData(self,maxPage,score,): #maxPage是爬取评论的最大页数,每
7272
header = self.getHeaders(id)
7373
for i in range(1,maxPage):
7474
param,url = self.getParamUrl(id,i,score)
75-
print(">>>>>>>>>>>>>>>>第:%d 个,第 %d 页"%(j,i))
75+
print("正在爬取评论信息>>>>>>>>>第:%d 个,第 %d 页"%(j,i))
7676
try:
7777
response = requests.get(url,headers = header,params=param)
7878
except Exception as e:
@@ -104,14 +104,32 @@ def getData(self,maxPage,score,): #maxPage是爬取评论的最大页数,每
104104
remarks = []
105105
for i in range(len(comments)):
106106
rst = re.findall(zhon.hanzi.sentence,comments[i])
107-
if len(rst)==0 or rst == ["。"] or rst == ["?"] or rst == ["!"] or rst == ["."] or rst == [","] or rst == ["?"] or rst == ["!"]:
107+
if len(rst) == 0 or rst == ['。'] or rst == ['?'] or rst == ['!'] or rst == ['.'] or rst == [','] or rst == ['?'] or rst == ['!']:
108108
logging.warning("拆分失败或结果不符(去除空格和标点符号):%s"%(rst))
109109
else:
110110
remarks.append(rst)
111111
result = self.solvedata(remarks=remarks)
112112
if len(result)==0:
113-
logging.warning("当前商品没有评价,强制退出程序,请自行评价")
114-
sys.exit(0)
113+
logging.warning("当前商品没有评价,使用默认评价")
114+
result = ["考虑买这个$之前我是有担心过的,因为我不知道$的质量和品质怎么样,但是看了评论后我就放心了。",
115+
"买这个$之前我是有看过好几家店,最后看到这家店的评价不错就决定在这家店买 ",
116+
"看了好几家店,也对比了好几家店,最后发现还是这一家的$评价最好。",
117+
"看来看去最后还是选择了这家。",
118+
"之前在这家店也买过其他东西,感觉不错,这次又来啦。",
119+
"这家的$的真是太好用了,用了第一次就还想再用一次。",
120+
"收到货后我非常的开心,因为$的质量和品质真的非常的好!",
121+
"拆开包装后惊艳到我了,这就是我想要的$!",
122+
"快递超快!包装的很好!!很喜欢!!!",
123+
"包装的很精美!$的质量和品质非常不错!",
124+
"收到快递后迫不及待的拆了包装。$我真的是非常喜欢",
125+
"真是一次难忘的购物,这辈子没见过这么好用的东西!!",
126+
"经过了这次愉快的购物,我决定如果下次我还要买$的话,我一定会再来这家店买的。",
127+
"不错不错!",
128+
"我会推荐想买$的朋友也来这家店里买",
129+
"真是一次愉快的购物!",
130+
"大大的好评!以后买$再来你们店!( ̄▽ ̄)",
131+
"真是一次愉快的购物!"
132+
]
115133
return result
116134

117135

0 commit comments

Comments
 (0)