当前位置: 首页 > news >正文

人才网网站开发手册申通e物流的网站建设

人才网网站开发手册,申通e物流的网站建设,无锡网站建设推广公司,如何用电脑记事本做网站文章目录 初始化数据库接口更改数据库写入 初始化数据库 引入数据库的目的不止是为了存储,更多地也是为了便于查询,否则也没必要用一个Text控件来展示信息了。 所以一个正常的工作逻辑是,一打开热榜分析系统,也就同步打开数据库…

文章目录

    • 初始化数据库
    • 接口更改
    • 数据库写入

初始化数据库

引入数据库的目的不止是为了存储,更多地也是为了便于查询,否则也没必要用一个Text控件来展示信息了。

所以一个正常的工作逻辑是,一打开热榜分析系统,也就同步打开数据库,然后随用随查,而打开数据库之后需要检查是否已经建立了热榜表格,如果没建立那么就建立一下。

所以在初始化函数中新增一个self.initSql(),内容如下

def initSql(self):self.dbCSDN = sqlite3.connect('csdn.db')HEADS = 'create table heat (日期 int, 时间 int, 热榜 text, 序号 int, 'HEADS += '标题 text, 作者 text, 浏览 int, 'HEADS += '评论 int, 收藏 int, 热度 int)'try: self.dbCSDN.execute(HEADS)except: pass

如果已经有了heat表格,那么再去创建就会报错,所以只要pass掉就可以了。

接口更改

相比于读取完所有数据之后一次性导入数据库,在数据爬取的过程中导入显然更加自然。
另一方面,读取数据需要新开一个线程,而sqlite3模块并不支持跨线程操作,所以只能等数据传回来再操作,

这两个条件,就基本框定了技术方案,只能在爬虫回调时写入数据库,但之前的回调函数是直接把当前爬取的数据列表传回,而非单条数据,所以需要花费一点精力修改接口,主要就是把大部分调用回调函数的地方,从类似callback(blogs)改为callback(b),然后将backOneSubHeat改成下列形式

def backOneSubHeat(self, L, info, field=None):if field not in self.subHeats:self.subHeats[field] = []if L != []:self.subHeats[field].append(L)if info.endswith("完毕"):n = len(self.subHeats[field])self.addLogs(f"共读取了{field}领域{n}篇博客")

同时为了接口统一,之前的backAllSubHeat就没有必要存在了,同时更改getAllSubHeatInfos函数

def getAllSubHeatInfos(callback):blogs = {}for key in SUB_HEATS:func = lambda L, info : callback(L, info, key)func([], f"正在读取{key}领域热榜")blogs[key] = getHeatInfos(func, key)func([], f"{key}已经读取完成")func([], f"所有领域热榜都已读取完成")return blogs

数据库写入

最麻烦的工作结束了,现在可以开始数据库写入

# L为回传的数据
def importHeatToSql(self, L, field):CODE = "insert into heat values (date('now'), time('now'), "bInfo = ', '.join([f"'{iL}'" for iL in L])c = CODE + f"'{field}', {bInfo})" try: self.dbCSDN.execute(c)except Exception as e: print(e, c)

最后,在关闭窗口时,别忘了存储和关闭数据库,首先在初始化函数中添加

self.root.protocol("WM_DELETE_WINDOW", self.exit)

其self.exit内容如下

def exit(self):self.dbCSDN.commit()self.dbCSDN.close()self.root.destroy()

为了确保的的确确把数据写入了数据库,可以用SQLiteStudio查看一下,

在这里插入图片描述

http://www.yayakq.cn/news/144030/

相关文章:

  • 专业做民宿的网站排名好的郑州网站建设
  • 二级学院网站建设方案东莞网站公司排名
  • 网站收录查询情况一站式服务宣传语
  • win2012服务器网站建设凡客官方网站
  • 专业网站建设 公司哪家好建站公司一般怎么获客
  • 邢台网站网页设计公司公司对比网站
  • 网站开发用什么代码网站设计软件开发
  • 有哪些企业可以做招聘的网站有哪些内容资料网站怎么做的
  • 凡科网商城是正规网站吗怎么投诉做网站的公司
  • 律师做网站有用wordpress如何多用户
  • 临淄网站设计厦门seo公司网站
  • 网站开发选题依据网络营销软件程序属于
  • 在线ps网站二手房地产中介网站建设
  • 如何网站做外贸生意网站建设的几种形式
  • 泰安网站建设入门推荐网站功能图
  • 网站权重如何合理分配巢湖网站制作
  • 微信 网站 收费标准深圳设计网站有限公司
  • 中国建设网官方网站济宁国泰网站建设的500字小结
  • 做搜狗网站网站开发字体过大
  • 企业网站建设开发贵州seo排名
  • 做网站用什么主题界面设计与制作是做什么的
  • 甘南北京网站建设在电脑上建设个人网站
  • 张家港外贸网站建设辽宁省住房和城乡建设厅
  • wordpress导航菜单 设置娄底网站建设优化企业
  • 如何制作自己的网站阿里巴巴网官方网站
  • 静态网站制作视频教育网站制作软件
  • 平面图设计网站电商运营推广怎么做
  • wordpress清新Minty主题v4揭阳seo推广公司
  • 健身网站设计模板下载seo人员是什么意思
  • 中国建设银行大学助学贷款网站集团网站建设服务公司