Esempio n. 1
0
    def deal_single_info(self, i, single, cookies, item):
        # 文献标识
        nrdAn = single.xpath(".//input[@name = 'nrdAnHidden']")[0].xpath(
            './@value')[0]
        # 文献唯一标识
        cid = single.xpath(".//input[@name='idHidden']")[0].xpath(
            './@value')[0]
        sid = cid
        nrdPn = single.xpath(".//input[@name ='nrdPnHidden']")[0].xpath(
            './@value')[0]
        str = u'代理机构'
        agency = self.deal_info(str, single)
        str = u'代理人'
        agent = self.deal_info(str, single)
        str = u'申请号'
        code = self.deal_info(str, single)
        code = code.split('CN')[-1]
        str = u'申请日'
        app_date = self.deal_info(str, single)
        app_date = deal_html_code.change_date(app_date)
        str = u'申请(专利权)人'
        applicant = self.deal_info(str, single)
        address = single.xpath(".//input[@name ='appAddrHidden']")[0].xpath(
            './@value')[0]
        str = u'发明人'
        inventor = self.deal_info(str, single)
        str = u'IPC分类号'
        main_cate = self.deal_info(str, single)
        str = u'IPC分类号'
        sub_cate = self.deal_info(str, single)
        str = u'公开(公告)号'
        pub_code = self.deal_info(str, single)
        str = u'公开(公告)日'
        pub_date = self.deal_info(str, single)
        pub_date = deal_html_code.change_date(pub_date)
        str = u'优先权日'
        priority_date = self.deal_info(str, single)
        str = u'优先权号'
        priority_code = self.deal_info(str, single)
        priority = priority_date + ' ' + priority_code
        name = single.xpath(".//input[@name ='titleHidden']")[0].xpath(
            './@value')[0]
        name = deal_html_code.remove_symbol(name)
        remark = self.get_remark(nrdPn, sid, cid, cookies)
        source = 'pss-system'
        law_search_info = self.get_law_info(nrdAn, nrdPn, cookies)
        string = u'同族'
        finger = single.xpath(".//a[contains(.,'%s')]" %
                              string)[0].xpath("string(.)")
        finger = finger.split(":")[-1]
        if int(finger) == 0:
            same_info = {}
        else:
            same_info = self.get_cognation_info(nrdPn, cookies)

        item[i] = [
            name, code, app_date, applicant, address, inventor, main_cate,
            sub_cate, pub_code, pub_date, priority, remark, agent, agency,
            source, law_search_info, same_info
        ]
Esempio n. 2
0
 def get_law_info(self, nrdAn, nrdPn, cookies):
     law_info = {}
     try:
         start_flag = 0
         string = lawparams % (nrdPn, nrdAn, start_flag)
         user_agent = random.choice(config.USER_AGENTS)
         headers["User-Agent"] = user_agent
         url = config.lawurl
         result = requests.post(url,
                                string,
                                headers=headers,
                                cookies=cookies).content
         lawdata = json.loads(result)["lawStateList"]
         for i, single in enumerate(lawdata):
             dates = single["prsDate"]
             dates = deal_html_code.change_date(dates)
             code = single["nrdAn"]
             code = code.split("CN")[-1]
             vcode = single["nrdPn"]
             # print vcode
             if vcode != '' and vcode != None:
                 vcode = vcode.split("CN")[-1]
             else:
                 vcode = ''
             content = single["lawStateExtendMeaning"]
             law_info[i] = [dates, code, vcode, content]
     except Exception, e:
         logging.error("law error:%s" % e)
         print e