Beispiel #1
0
class BaseConfig:
    # 爬取专利速度,每个请求80个,范围是(0,89]
    CRAWLER_SPEED = "80"
    FILE_NAME = "output\专利.xls"
    LOG_FILE_NAME = "log\PatentCrawler{0}.log".format(
        TimeUtil.getFormatTime("%Y%m%d_%H%M%S"))

    # 发明人名称检查
    CHECK_INVENTOR = False
    # 申请人名称检查
    CHECK_PROPOSER = True
class Config:
    BROSWER_NAME = "PhantomJs"
    LOG_FILE_NAME = "log\PatentCrawler{0}.log".format(TimeUtil.getFormatTime("%Y%m%d_%H%M%S"))
    FILE_NAME = "output\专利.xls"
    REJECT_WAY = "您的操作太过频繁,已被网站限制操作\n应对方式:\n(1)重启路由器;\n(2)拔掉网线重新连接;\n(3)重启电脑\n(4)通知管理员采取应对办法"
    AND_STRING = "………………………………………………"

    @staticmethod
    def writeLog(strLog):
        FileUtil(Config.LOG_FILE_NAME, "a+").writeLine(
            TimeUtil.getFormatTime("%Y/%m/%d-%H:%M:%S") + Config.AND_STRING + strLog)

    @staticmethod
    def writeException(strException):
        FileUtil(Config.LOG_FILE_NAME, "a+").writeLine(str(strException))
 def writeLog(strLog):
     FileUtil(Config.LOG_FILE_NAME, "a+").writeLine(
         TimeUtil.getFormatTime("%Y/%m/%d-%H:%M:%S") + Config.AND_STRING + strLog)
Beispiel #4
0
import configparser
import os

import click

from util.TimeUtil import TimeUtil

"""
路径设置
"""
# 工程根目录,注意此处以初次调用这个变量的元素为准,工程起始目录定位在main,若有修改请注意这个位置
BASE_PATH = os.path.split(os.path.split(__file__)[0])[0]
# 输出目录
OUTPUT_PATH = os.path.join(BASE_PATH, 'output')
# 输出分组,默认按年月日_时分秒分组
OUTPUT_GROUP_PATH = os.path.join(OUTPUT_PATH, TimeUtil.getFormatTime('%Y%m%d_%H%M%S'))
# 采集存放数据库地址
DATABASE_NAME = os.path.join(OUTPUT_GROUP_PATH, 'Patent.db')
# 生成excel地址
EXCEL_NAME = os.path.join(OUTPUT_GROUP_PATH, '专利.xlsx')
# 生成图表目录
CHARTS_NAME = os.path.join(OUTPUT_GROUP_PATH, 'charts.html')
# log文件名
LOG_FILENAME = os.path.join(OUTPUT_GROUP_PATH, "PatentCrawler.log")
# 验证码模型地址
CAPTCHA_MODEL_NAME = os.path.join(BASE_PATH, 'res', 'captcha', 'sipoknn.job')

"""
基础设置
"""
# 是否使用代理
Created on 2017/3/19

@author: will4906

一、下地址、文件名可根据用户使用自行修改,工程所有地址将会采用。
"""
import os

from util.TimeUtil import TimeUtil

# 工程根目录,注意此处以初次调用这个变量的元素为准,工程起始目录定位在main,若有修改请注意这个位置
BASE_PATH = os.getcwd() + os.sep
# 输出目录
OUTPUT_PATH = BASE_PATH + 'output'
# 输出分组,默认按年月日_时分秒分组
OUTPUT_GROUP_PATH = OUTPUT_PATH + os.sep + TimeUtil.getFormatTime(
    '%Y%m%d_%H%M%S')
# 采集存放数据库地址
DATABASE_NAME = OUTPUT_PATH + os.sep + 'Patent.db'
# 生成excel地址
EXCEL_NAME = OUTPUT_GROUP_PATH + os.sep + '专利.xlsx'
# 生成图表地址
DIAGRAM_NAME = OUTPUT_PATH + os.sep + 'diagram.html'
# log输出目录
LOG_PATH = BASE_PATH + 'log'
# log文件名
LOG_FILENAME = LOG_PATH + os.sep + "PatentCrawler{0}.log".format(
    TimeUtil.getFormatTime("%Y%m%d_%H%M%S"))
# 模板文件目录,不建议修改
TEMPLATE_PATH = BASE_PATH + 'res' + os.sep + 'template'
# 模板文件地址,有可能增加和改变,不建议修改
TEMPLATE_NAME = TEMPLATE_PATH + os.sep + 'template.html'
Beispiel #6
0
import configparser
import os

import click

from util.TimeUtil import TimeUtil
"""
路径设置
"""
# 工程根目录,注意此处以初次调用这个变量的元素为准,工程起始目录定位在main,若有修改请注意这个位置
BASE_PATH = os.path.split(os.path.split(__file__)[0])[0]
# 输出目录
OUTPUT_PATH = os.path.join(BASE_PATH, 'output')
# 输出分组,默认按年月日_时分秒分组
OUTPUT_GROUP_PATH = os.path.join(OUTPUT_PATH,
                                 TimeUtil.getFormatTime('%Y%m%d_%H%M%S'))
# 采集存放数据库地址
DATABASE_NAME = os.path.join(OUTPUT_GROUP_PATH, 'Patent.db')
# 生成excel地址
EXCEL_NAME = os.path.join(OUTPUT_GROUP_PATH, '专利.xlsx')
# 生成图表目录
CHARTS_NAME = os.path.join(OUTPUT_GROUP_PATH, 'charts.html')
# log文件名
LOG_FILENAME = os.path.join(OUTPUT_GROUP_PATH, "PatentCrawler.log")
# 验证码模型地址
CAPTCHA_MODEL_NAME = os.path.join(BASE_PATH, 'res', 'captcha', 'sipo3.job')
# 赞赏html路径
AD_PATH = os.path.join(BASE_PATH, 'res', 'advertisement', 'ad.html')
"""
基础设置
"""
Beispiel #7
0
def init_excel_config():
    title_list = [
        "专利类型", "专利名称", "法律状态", "法律状态最后修改日期", "申请公布日/授权公告日", "申请号", "申请日",
        "申请人/专利权人", "发明人"
    ]
    editor = ExcelUtil(Config.FILE_NAME).edit()
    sh = editor.getSheet(0)
    for index, each in enumerate(title_list):
        sh.write(0, index, each)
    editor.commit()
    return


if __name__ == '__main__':
    initProgress()
    # 这句非常重要,提高python的递归深度,否则递归900次就炸了
    sys.setrecursionlimit(1000000)  # 例如这里设置为一百万
    startDate = input("请输入公布日开始日期,如{0}:".format(
        TimeUtil.getFormatTime("%Y-%m-%d")))
    Config.writeLog("程序启动,输入的公布开始日期为{0}".format(startDate))
    init_excel_config()

    progress = ProgressController(Config.BROSWER_NAME)
    Config.writeLog("启动{0}浏览器".format(Config.BROSWER_NAME))
    queryInfo = progress.getQueryInfo()
    queryInfo.setStartDate(startDate)

    progress.startProgress()

    # print(excel)
Beispiel #8
0
"""
Created on 2017/3/19

@author: will4906

一下地址、文件名可根据用户使用自行修改,工程所有地址将会采用。
"""
import os

from util.TimeUtil import TimeUtil

# 工程根目录,注意此处以初次调用这个变量的元素为准,工程起始目录定位在main,若有修改请注意这个位置
BASE_PATH = os.getcwd() + os.sep
# 输出目录
OUTPUT_PATH = BASE_PATH + 'output'
# 输出分组,默认按年月日_时分秒分组
OUTPUT_GROUP_PATH = OUTPUT_PATH + os.sep + TimeUtil.getFormatTime('%Y%m%d_%H%M%S')
# 采集存放数据库地址
DATABASE_NAME = OUTPUT_GROUP_PATH + os.sep + 'Patent.db'
# 生成excel地址
EXCEL_NAME = OUTPUT_GROUP_PATH + os.sep + '专利.xlsx'
# 生成图表地址
DIAGRAM_NAME = OUTPUT_GROUP_PATH + os.sep + 'diagram.html'
# log输出目录
LOG_PATH = BASE_PATH + 'log'
# log文件名
LOG_FILENAME = LOG_PATH + os.sep + "PatentCrawler{0}.log".format(TimeUtil.getFormatTime("%Y%m%d_%H%M%S"))
# 模板文件目录,不建议修改
TEMPLATE_PATH = BASE_PATH + 'res' + os.sep + 'template'
# 模板文件地址,有可能增加和改变,不建议修改
TEMPLATE_NAME = TEMPLATE_PATH + os.sep + 'template.html'