基于上次狗屁不通观后感修改器的优化

好像输入影名或书名就可以运行了?

本次优化主要有:
1.加入了selenium的web自动化技术,并且实现了浏览器的无痕浏览(类似于隐藏浏览器技术)
2.运用了tkinter界面库设计了GUI图形交互界面(显得更高端,但是我的设计很丑,不要在意,能点就行,所以没用pyqt,采用了tkinter)
3.具有比较明显的错别字程序会帮你回正,也就是说你把《霸王别姬》记成了《霸王别鸡》,也是可以搜的出来了,好像也不会打错。。。

总的来说:可以只用输书名,或者影名就可以自动生成观后感,并且具有界面框,dangdangdang
就长这个丑样(因为懒,所以懒得设计了,能用就行。。。)

因为好像代码交互时好像出了点什么出了问题,所以。。。接下来直接单独附上tkinter的代码嘛

import tkinter as tkwindow = tk.Tk()
window.title("狗屁不通生成器观后感")
window.geometry("500x300")
label = tk.Label(window,width=50,height=2,background ="green",text="请输入你想要的生成观后感的电影或书籍名称\n在下方白色地方输入",font = ("Arial",17),anchor = "n")
label.pack()
inputframe = tk.Entry(show = None,font = 10)
inputframe.pack()result = tk.Text(height=5,width=50,font=("Arial",10),bg="green")
result.pack()text="请耐心等待至程序闪退……,该程序会自动生成文章到该软件的目录下"
var = inputframe.get()
def get_name():var = inputframe.get()result.insert("insert",var)result.insert("insert","\n")result.insert("insert",text)print(var)button_one = tk.Button(height=2,width=50,text="输完后点这里",command=get_name)
button_one.pack()
x=get_name()
window.mainloop()

因为很简单,所以短。。。

接下来步入正题!!!,更新后的爬取代码,加了点selenium

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import re
import requests
import bs4
from bs4 import BeautifulSoup
import time
import random
import osdef translation(name):chrome_options = webdriver.ChromeOptions()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')browser = webdriver.Chrome(options=chrome_options)#selenium实现自动化浏览,这里用无痕模式browser.get("https://www.douban.com/")browser.find_element_by_name("q").send_keys(name)browser.find_element_by_xpath("//input[@type='submit']").click()browser.find_elements_by_xpath("//h3/a")[0].click()handle = browser.window_handlesbrowser.switch_to.window(handle[1])#窗口句柄的切换url = browser.current_urlreturn urldef gettext(url):try:kv={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}r=requests.get(url,timeout=20,headers=kv)r.raise_for_status()r.encoding=r.apparent_encodingr.encoding = "utf-8"return r.textexcept:return ""#短评链接;
def getcri(text):pat="https://movie.douban.com/review\/[0-9]*?\/\""result=re.compile(pat).findall(text)return result#作品简介
def getbf(text):pat="\<p\>导演.*?分"result=re.compile(pat).findall(text)return resultdef main():print("本作品作者董正宇QAQ")print("请输入你想要获取的观后感,输入格式:电影(或书)的名称")bookname = input()url=translation(bookname)key={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}txt=gettext(url)listf=getcri(txt)#各链接s=getbf(txt)#简介soup=BeautifulSoup(txt,"html.parser")title=soup.title.text.replace("\n","")title=title.replace(" ","")title=re.sub("\(.*?\)","",title)print("搜索结果:"+title)if not os.path.exists(title):os.mkdir(title)for i in listf:after=i[:-2]duanpin=gettext(after)pat="data-original=\"[\d]\"\>(.*?)\<\/div\>"result=re.findall(pat,duanpin,re.S)name="狗屁不通文章"content=re.sub("(\<br\>)+","\n",result[0])content_two=re.sub("(<p>)|(<\/p>)|(&nbsp;)+|-+","",content)each_par=content_two.split("\n")pargraph=random.sample(range(0,len(each_par)),len(each_par)-3)for i in pargraph:random_par=random.randint(0,5)with open(title+"/"+name+".txt","a",encoding="utf-8") as f:f.write(each_par[i])if random_par == 1:f.write("\n")
main()

同样,自动生成的文章会保存在该exe的目录下,点开就可以用了
这回你直接可以输 (某书某影视)名字就可以用了

重点:后面这个代码也可以运行,只是不好看(而已。。)
下面附上结果图:


基于python的狗屁不通观后感生成器 2.0相关推荐

  1. 推荐一个基于 Python + Vue 的海报生成器

    推荐一个基于 Vue.js 的海报生成器开源项目,像海报编辑器此类的低代码平台更多的开发量在前端,所以说这是前端工程师不错的练手项目,实现起来比管理系统有趣多了. 01.  海报生成器 前几天也推荐过 ...

  2. 基于python的量化投资基础(Chapter.0)——概述

    量化交易概述 量化交易就是通过数理统计模型方式及计算机程序化发出买卖指令去实现投资理念.实现投资策略的过程,以获取稳定收益为目的的交易方式. 广义的量化投资=基于现代科学方法的理论体系+研究方式+工程 ...

  3. 基于python ttkbootstarp的密钥生成器

    App key和App Secret App key简称API接口验证序号,是用于验证API接入合法性的.接入哪个网站的API接口,就需要这个网站允许才能够接入,如果简单比喻的话:可以理解成是登陆网站 ...

  4. pelican搭建静态博客_Pelican入门:基于Python的静态网站生成器

    pelican搭建静态博客 如果要创建自定义网站或博客,则有很多选择. 许多提供商将托管您的网站,并为您完成许多工作. (WordPress是一个非常受欢迎的选项.)但是,使用托管解决方案会失去一些灵 ...

  5. 基于Python的二次元头像生成器 课程报告+源码

    资源下载地址:https://download.csdn.net/download/sheziqiong/85718980 目录 二次元头像生成器 2 选题背景 2 实验流程 2 算法简介 2 环境搭 ...

  6. 基于python tkinter的简单计算器(v1.0)

    import tkinter#定义计算器类 class Calc:#初始化魔术方法def __init__(self):#初始化共用属性#定义一个用于存放被计算字符串的列表self.operation ...

  7. python个人网站系统_利用基于Python的Pelican打造一个自己的个人纯静态网站

    其实呢这么多年以来我一直建议每个有技术追求的开发者都要有写技术博客记笔记的良好习惯,一来可以积累知识,二来可以帮助别人,三来可以把开发中遇到的问题记录用来自省,第四可以通过交换友链来结识更多的技术领域 ...

  8. 利用基于Python的Pelican打造一个自己的个人纯静态网站

    其实呢这么多年以来我一直建议每个有技术追求的开发者都要有写技术博客记笔记的良好习惯,一来可以积累知识,二来可以帮助别人,三来可以把开发中遇到的问题记录用来自省,第四可以通过交换友链来结识更多的技术领域 ...

  9. 【低智版狗屁不通文章生成器】Python 基于一条语法随机生成简单中文句子的小练习

    在某人工智能培训班看到这个预热练习,来玩一下,感觉跟之前很火的狗屁不通文章生成器有异曲同工之妙,不过这个是纯基于规则啦 Writing a programming which could genera ...

最新文章

  1. Android SlidingMenu 开源项目 侧拉菜单的使用(详细配置)
  2. 信息系统项目管理师:第9章:项目人力资源管理-历年真题
  3. HtmlAgilityPack的简单使用
  4. 【js】正则表达式(II)
  5. windows 读写锁 python_用Python实现读写锁
  6. js逆向解析技巧--selenium
  7. 哈尔滨工程大学微型计算机原理与接口技术,哈尔滨工程大学微机原理与接口技术第2-3讲.ppt...
  8. 还债之期末复习(预习)
  9. SQL Server 中死锁产生的原因及解决办法
  10. 热门手机刷锤子ROM什么样?
  11. 电话录音系统服务器 显示断线,电话录音系统不稳定解决方法?
  12. 字符识别,口算题识别论文小梗概
  13. android底部蒙版,Android实现蒙版弹出框效果
  14. 移动端300ms延迟_移动端300ms延迟原因及解决方案
  15. matlab 逐步回归代码,(最新整理)逐步回归matlab程序
  16. 【网络安全】——逻辑漏洞之短信轰炸漏洞
  17. 不再依赖光荣,全新脚本引擎还原《三国志曹操传》
  18. 离线安装clamav
  19. python开篇-------python介绍
  20. 用starUML画的软工课设:外卖点餐管理系统

热门文章

  1. 超微服务端重装系统简要记录
  2. Windows cmd常用命令行命令
  3. 科学计算自由软件SCILAB
  4. itunes将m4a转mp3
  5. csp2021-12
  6. OSPF NBMA实验(单播、广播)
  7. ios系统软件迁移到安卓_教你把ios系统移植到安卓手机
  8. HTTP协议与www浅谈
  9. 阅兵式直播刺杀总统,无人机敢死队有多可怕
  10. 实现“快准狠”交付——小米HR研发团队敏捷实践