在这里插入代码片
```# -*- coding: utf-8 -*-
import ttkbootstrap as ttk
from ttkbootstrap.constants import *
from ttkbootstrap.dialogs import Messagebox
import tkinter.messagebox
import threading
#import dy_comment_service
import time
import pandas as pdimport requestsdef download(pageNo,shopUUid):headers = {"Accept": "*/*","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cache-Control": "no-cache","Connection": "keep-alive","Pragma": "no-cache","Referer": "https://m.dianping.com/shop/la0ac8FgUTV4G4Wu?from=shoplist&shoplistqueryid=16ee7baa-3b3b-4831-9289-e35b398b780a","Sec-Fetch-Dest": "empty","Sec-Fetch-Mode": "cors","Sec-Fetch-Site": "same-origin","User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Mobile Safari/537.36 Edg/100.0.1185.50","channel": "H5","channelversion": "undefined","minaname": "dianping-wxapp","minaversion": "8.9.3","mtgsig": "{\"a1\":\"1.0\",\"a2\":1651202621659,\"a3\":\"1651202593614KKWKKQSfd79fef3d01d5e9aadc18ccd4d0c95072025\",\"a4\":\"79e54980f3f683788049e5797883f6f35bc9bd0a234a4bf9\",\"a5\":\"4xuHoD7Kw7dO6NdfhKFxjzSPJU0f5wgeS9BkHRnKXOT0RPdCkZTOreCRJSHAeQ4DSJc5kqI=\",\"a6\":\"h1.0AmS3UOXli8Mp23WhHc1yaFffC+Iq/LcDxPp4NUWS55zjxyQ+fru7iZfXbya9w1FAZHgg6gKGdGq7GM2yZfddvLQ8ij7tqdVdhYPMWKW/CDbbbOdpCHb2fkVDjHEntfSG7H8kp1jQW/6bAW1eRSBiAOeJVegcRNlMl7f8pSo0ykMmFffdJ7My1CbjhzBAy3ptGPpVpugoS/JtofBIduzuOI8ma6+bQu0moJhMi6exfopCnKR+dNndCWv6i5+VG95mrPDI0Vl7q2R5zNe6qKirR+/qTVHeSW1gROUviIiRf7iIM52UOFowV/h1hSl0EP3lPDg1vu35jULNKDwrl2ss18UsvT3K4rmIZ0PEBjxwcBkXR6OMJ15ccIiN0T43Vby9kEFu2lBZbScg49W2O2S4kze8J0gkDekJfU+vExQxN0KcEVcr7c1HcGiVO18rhy4PNpGnxIDYcLcTeahdZ1Zt2OPqtdziRaTfVpbsaax/9H6Z7DgxO579Y9CyHbWtZtvZjM4VY12/+qeNeHoT0lqLB1RyRq0gmeuA2bMfNaULQrMIPgmhkarvZ3ZP++9LCog0\",\"x0\":4,\"d1\":\"553cf1cf2d9f6eb7ba963f6188f87f4e\"}","platform": "undefined","platformversion": "undefined","sdkversion": "undefined","sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"100\", \"Microsoft Edge\";v=\"100\"","sec-ch-ua-mobile": "?1","sec-ch-ua-platform": "\"Android\"","token": "null","wechatversion": "undefined"}url = "https://m.dianping.com/ugc/review/shop/shopreview"params = {"pageSize": "10","pageCount": pageNo,# "mtsiReferrer": "https://m.dianping.com/shop/la0ac8FgUTV4G4Wu?from=shoplist&shoplistqueryid=16ee7baa-3b3b-4831-9289-e35b398b780a?from=shoplist&shoplistqueryid=16ee7baa-3b3b-4831-9289-e35b398b780a&shopUuid=la0ac8FgUTV4G4Wu&online=1&shopuuid=la0ac8FgUTV4G4Wu&shopId=la0ac8FgUTV4G4Wu&pageName=shop","isNeedNewReview": "1","shopUuid": shopUUid,"device_system": "ANDROID"}response = requests.get(url, headers=headers, params=params)print(response.json())return response.json()def parse(reviewBody):bodys=list()childrens=reviewBody["children"]for child in childrens:if "name" in child :continuetext=child["text"]bodys.append(str(text))return str("\r".join(bodys))def crawler(pageNo,shopUUid):if not bool(shopUUid):shopUUid="la0ac8FgUTV4G4Wu"results=list()js=download(pageNo,shopUUid)# print(js)reviewList=js["shopReviewInfo"]["reviewList"]for review in reviewList:result={}result["点评人id"]=review["userId"]result["点评帖id"]=review["reviewId"]result["用户头像"]=review["userPhoto"]result["用户昵称"]=review["userNickName"]result["用户简介"] =review["authorDesc"]result["vip等级"]=review["vipLevel"]result["上次发布时间"] =review["lastTime"]result["点评最大点赞数"]=review["flowerTotal"]result["点评浏览数"]=review["browseCount"]result["点评内容"]=parse(review["reviewBody"])results.append(result)return resultsclass MyThread(threading.Thread):def __init__(self, func, *args):super().__init__()self.func = funcself.args = argsself.setDaemon(True)self.start()  # 在这里开始def run(self):return self.func(*self.args)results=list()def export_data():df = pd.DataFrame(results)# 将空的单元格替换为空字符df.fillna('', inplace=True)df.to_excel("D://点评评论.xlsx", encoding='utf-8', index=False)print("导出完毕")results.clear()tkinter.messagebox.showinfo('提示', '导出完毕,导出文件目录为   D://点评评论.xlsx')def delButton(tv):x=tv.get_children()print(x)for item in x:tv.delete(item)def submit(input,tv):shopUUid=input.get()results.clear()delButton(tv)#只有是纯数字的才会跑 否则res=crawler(4,shopUUid)for i in res:results.append(i)tv.insert("", END, values=i.values())tkinter.messagebox.showinfo('提示', '采集完毕,请导出')def setup_demo(master):master.geometry("800x450+200+20")root = ttk.Frame(master, padding=10)theme_selection = ttk.Frame(root, padding=(10, 10, 10, 0),height=4)theme_selection.pack(fill=X, expand=YES)theme_selected = ttk.Label(master=theme_selection, text="山东景区点评评论采集", font="-size 24 -weight bold")theme_selected.pack(side=LEFT)ttk.Separator(root).pack(fill=X, pady=10, padx=10)lframe = ttk.Frame(root, padding=5)lframe.pack(side=LEFT, fill=BOTH, expand=YES)rframe = ttk.Frame(root, padding=5)rframe.pack(side=RIGHT, fill=BOTH, expand=YES)color_group = ttk.Labelframe(master=lframe, text="请输入点评shopUuid", padding=10)color_group.pack(fill=X, side=TOP)input_dy=ttk.Entry(color_group,text="shopUuid",width=60)input_dy.pack(side=LEFT,padx=5,fill=X)ttframe = ttk.Frame(lframe)ttframe.pack(pady=5, fill=X, side=TOP)# table_data = [#     ("张三", "这写的真好","2021",3),#     ("张三", "这写的真好", "2021", 3)# ]tv = ttk.Treeview(master=ttframe, columns=[0,1,2,3,4,5,6,7,8,9], show=HEADINGS, height=10)# for row in table_data:#     tv.insert("", END, values=row)tv.heading(0, text="点评人id",)tv.heading(1, text="点评帖id")tv.heading(2, text="用户头像")tv.heading(3, text="用户昵称")tv.heading(4, text="用户简介")tv.heading(5, text="vip等级")tv.heading(6, text="上次发布时间")tv.heading(7, text="点评点赞数")tv.heading(8, text="点评浏览数")tv.heading(9, text="点评内容")tv.column(0,  anchor=CENTER,width="80")tv.column(1, anchor=CENTER,width="80")tv.column(2, anchor=CENTER,width="80")tv.column(3, anchor=CENTER,width="80")tv.column(4, anchor=CENTER,width="80")tv.column(5, anchor=CENTER,width="80")tv.column(6, anchor=CENTER,width="80")tv.column(7, anchor=CENTER,width="80")tv.column(8, anchor=CENTER,width="80")tv.column(9, anchor=CENTER,)tv.pack(side=LEFT, anchor=NE, fill=X)export = ttk.Button(color_group, text="导出", bootstyle="success", width=10,command=lambda: MyThread(export_data))export.pack(side=RIGHT, expand=YES, padx=5, fill=X)cb = ttk.Button(color_group, text="提交", bootstyle="success", width=10,command=lambda: MyThread(submit, input_dy,tv ))cb.pack(side=RIGHT, expand=YES, padx=5, fill=X)return rootif __name__ == "__main__":app = ttk.Window("点评评论采集")bagel = setup_demo(app)bagel.pack(fill=BOTH, expand=YES)app.mainloop()

1222222222相关推荐

  1. 【Java 后端接收前端的富文本数据,其中标签样式数据丢失解决】

    [问题处理记录] 问题 前端json字符串传值富文本格式的字段给我,字符串参数如下: "<p data-we-empty-p="" style="text ...

  2. 转 Java知识——精华总结

    一.java概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程.  为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路. ...

  3. java知识精华总结

    Java 知识--精华总结 一. -java 概述与基础知识-6 1.何为编程?-6 2.Java 语言概述,历史.特点- 6 3.什么是跨平台性?原理是什么?JVM- 7 4.Jre 和 Jdk 的 ...

  4. Java知识——精华总结

    Java知识--精华总结 一.java概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 为了使计算机能够理解人的意图,人类就必须 ...

  5. 黑马JAVA知识点总结

    一.黑马程序员-java概述与基础知识 6 1.何为编程? 6 2.Java语言概述,历史.特点 6 3.什么是跨平台性?原理是什么?JVM 7 4.Jre和Jdk的区别? 7 5.java虚拟机JV ...

  6. 黑马程序员入学Java知识——精华总结

    黑马程序员入学Java知识--精华总结 J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结! 一.黑马程序员-java概述与基础知识 6 1.何为编程? 6 2.Java语言 ...

  7. Springboot Vue 前后端先分离后结合,闻名已久,今日实战

    关于SpringBoot + Vue,这里列出一个基本的项目实例. 源码:https://github.com/slhuang520/study/tree/master/spring-boot-vue ...

  8. python实训项目

    一.程序功能 1.功能概述 利用Python完成一个学生信息的增删改查程序,主要涉及知识点:程序控制结构.文件读写操作.利用函数实现功能模块化. 二.学生实体 1.思维导图 2.学生表 学号 姓名 性 ...

  9. Web初学-2022.11.19-11.25

    第五周笔记(自62开始HTML5) 51.strong和b.em和i(K112) strong和em都是表示强调的标签,表现形态为文本加粗和斜体. b和i标签同样也表示文本加粗和斜体 形如: < ...

最新文章

  1. 基于图像的三维物体重建:在深度学习时代的最新技术和趋势综述之性能比较和未来研究方向...
  2. redis 面试问题问答Top 10
  3. Ubuntu16.04删除客人会话
  4. GDCM:ReadSelectedTags的测试程序
  5. IIS安装与MVC程序部署
  6. php7.0开发手册手机版_PHP7.0版本备注
  7. Python--turtle绘图模块讲解
  8. 对于引用的控件被拒绝访问的解决办法的补充(续)
  9. c程序设计语言1-10答案,C语言程序设计试卷及答案_1(10页)-原创力文档
  10. HCI实验数据分析之数据可靠性计算,绘制箱图,描述性变量统计,ANOVA,Bonferroni 的连续变量方差分析
  11. 字符编码(GB 2312、GBK、UTF-8、UTF-16)
  12. 原生JS(JavaScript)
  13. c语言的指针思维导图,指针基础知识(含思维导图)
  14. HAWQ技术解析(八) —— 大表分区
  15. 计算机屏幕出现条纹w7,电脑重装win7后屏幕出现条纹怎么办
  16. 2009年是垂直搜索引擎的春天还是迷途?
  17. 什么类型的APP适合推广
  18. Hexo添加字数统计和阅读统计
  19. 解决”您的连接不是私密链接“的问题!
  20. PlotJuggler的安装遇到的问题记录

热门文章

  1. Nginx 之 realip模块 使用详解
  2. Unity Shader:实现菲涅尔+色散效果以及相关原理解析
  3. html 磁帖 模板,帖子编辑器预置模板
  4. python办公自动化:让PyAutoGUI来帮你干活---实践版
  5. RTTI (Runtime Type Identification)
  6. 模型的“参数”与“超参数”
  7. 傅里叶变换(FT)和傅里叶逆变换(IFT)推导
  8. 北京科技大学计算机保研去向,北京科技大学2020年保研率是多少
  9. 华师大 OJ 3024
  10. 1639_perror的函数功能以及简单测试