• 【2020/2/6】寒假自学——学习进度报告13


      开学的日子越来越捉摸不定了,唉。


      今天主要是把北京市政百姓信件分析实战这个作业做了,因为之前一直摸鱼的关系,今天一天做了太多东西(还没做完)。

      最首先是爬取数据,我在找到了读取列表的api,所以我几乎把爬取数据、清洗数据、挖掘数据全给跳过了。。(放心,之后我还是要做一遍,因为还有一些功能没完成以及另一个大作业)。

      下面是爬取的python程序,希望给看我博客的同学一些启发。

    import json
    import requests
    import csv, codecs
    from fake_useragent import UserAgent
    
    agent = UserAgent()
    
    url = "http://www.beijing.gov.cn/hudong/hdjl/com.web.search.mailList.mailList.biz.ext"
    requests = requests.Session()
    
    data = {
        "PageCond/begin": 0,
        "PageCond/length": 100,
        "PageCond/isCount": 'true'
    }
    response = requests.post(url, data, headers={"user-agent": agent.Safari})
    result = response.json()
    
    csvfile = codecs.open('letter_title.csv', 'w', 'utf_8_sig')
    writer = csv.writer(csvfile, delimiter=',', quoting=csv.QUOTE_ALL)
    flag = True
    if flag:
        keys = list(result['mailList'][0].keys())
        writer.writerow(keys)
        flag = False
    
    while True:
        response = requests.post(url, data, headers={"user-agent": agent.Safari})
        result = response.json()
        data["PageCond/begin"] += 100
        print(result['PageCond'])
        for line in result['mailList']:
            writer.writerow(list(line.values()))
        if result['PageCond']['isLast']:
            print("结束爬取")
            break
    csvfile.close()

      通过直接读取北京首都之窗网站的api我直接下载到了所有几乎完全适合我用来做作业的数据,大致如下。

       之后就是暂时数据的网站编写。

      这次我尝试了Mybatis的mybatis-generator来自动代码生成、自动生成实体,直接就可以连接数据库了。

      首先介绍下Mybatis。MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。这是一个能自动生成SQL语句的映射引擎,能相当得简化数据库方面的工作,毕竟我实在不想对着一个空虚的ResultSet使劲查找然后一个个自己手动一个个装到java实体里面去(或者编一个自动装填工具类,但说实话挺麻烦,而且很憨)。

      具体如何使用mybatis-generator可以参考mybatis三剑客之mybatis-generator,但不如官方文档,看官方文档可以少走很多弯路。

      这次我使用的是MyBatis3DynamicSql,可以自动生成动态的SQL语句以及一些简单DAO层。

      首先是项目结构。

      页面设计修改了一个网上的bootstrap4的网页模板。好久没摸bootstrap简直陌生。。

       总体就这样了。

  • 相关阅读:
    TIM时钟频率计算
    时钟节拍tick
    Continue作用
    struct结构体的字节长度,字节对齐
    IAR所包含的头文件位置
    Oracle存储过程给变量赋值的方法
    DataTable如何去除重复的行
    C#遍历窗体所有控件或某类型所有控件
    SqlServer无备份下误删数据恢复
    45.4.7 序列:USER_SEQUENCES(SEQ)
  • 原文地址:https://www.cnblogs.com/limitCM/p/12271368.html
Copyright © 2020-2023  润新知