class Inventor(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['Inventor', 'inventor'] chinese = '发明人' @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'inventor', '发明人')
class PublishDate(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'publish_date' chinese = ['公开日', '公布日', '公开(公告)日'] @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'publish_date', '公开(公告)日')
class Applicant(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['Applicant', 'applicant', 'assignee', 'Assignee', 'proposer'] chinese = ['申请人', '专利权人', '专利人', '申请(专利权)人'] @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'applicant', '申请(专利权)人')
class PriorityNumber(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'priority_number' chinese = '优先权号' @classmethod def parse(cls, raw, item, process: DetaildsRecord=None): return push_item(process.get_priority_number(), item, 'priority_number', '优先权号')
class PublishNumber(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'publish_number' chinese = ['公开号', '公布号', '公开(公告)号'] @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'publish_number', '公开(公告)号')
class CpcClassificationNumber(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['cpc_class_number', 'cpc', 'CPC', 'Cpc'] chinese = 'CPC分类号' @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'cpc_class_number', 'CPC分类号')
class ZipCodeOfTheApplicant(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['proposer_post_code', 'zip_code_of_the_applicant', 'proposer_zip_code'] chinese = '申请人邮编' @classmethod def parse(cls, raw, item, process: DetaildsRecord=None): return push_item(process.get_proposer_post_code(), item, 'proposer_zip_code', '申请人邮编')
class IpcClassificationNumber(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['ipc_class_number', 'IPC', 'ipc', 'Ipc'] chinese = 'IPC分类号' @classmethod def parse(cls, raw, item, process: DetaildsRecord=None): return push_item(process.get_ipc_class_number(), item, 'ipc_class_number', 'IPC分类号')
class RequestNumber(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['request_number', 'application_number'] chinese = '申请号' @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'request_number', '申请号')
class PriorityDate(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'priority_date' chinese = '优先权日' @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'priority_date', '优先权日')
class RequestDate(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'request_date' chinese = '申请日' @classmethod def parse(cls, raw, item, process=None): return push_item(process, item, 'request_date', '申请日')
class CountryOfTheApplicant(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['proposer_location', 'country_of_the_applicant', 'country_of_the_assignee'] chinese = ['申请人所在国(省)', '申请人所在地'] # todo 申请人所在国 @classmethod def parse(cls, raw, item, process=None): return push_item(' ', item, 'proposer_location', '申请人所在国(省)')
class PriorityNumber(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'priority_number' chinese = '优先权号' @classmethod def parse(cls, raw, item, process=None): if process is not None: item = push_item(process, item, 'priority_number', '优先权号') return item
class AddressOfApplicant(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['proposer_address', 'address_of_the_Applicant', 'applicant_address'] chinese = '申请人地址' @classmethod def parse(cls, raw, item, process: DetaildsRecord=None): if process is not None: item = push_item(process.get_proposer_address(), item, 'proposer_address', '申请人地址') return item
class IpcClassificationNumber(BaseItem): crawler_id = url_detail.get('crawler_id') english = ['ipc_class_number', 'IPC', 'ipc', 'Ipc'] chinese = 'IPC分类号' @classmethod def parse(cls, raw, item, process=None): if process is not None: item = push_item(process, item, 'ipc_class_number', 'IPC分类号') return item
class Abstract(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'abstract' chinese = '摘要' @classmethod def parse(cls, raw, item, process:DetaildsRecord=None): if process is not None: abstract = process.get_abstract() item.abstract = ResultItem(title=cls.title, value=abstract) return item
class ZipCodeOfTheApplicant(BaseItem): crawler_id = url_detail.get('crawler_id') english = [ 'proposer_post_code', 'zip_code_of_the_applicant', 'proposer_zip_code' ] chinese = '申请人邮编' @classmethod def parse(cls, raw, item, process=None): if process is not None: item = push_item(process, item, 'proposer_zip_code', '申请人邮编') return item
class PatentName(BaseItem): is_required = True crawler_id = url_detail.get('crawler_id') english = ['patent_name', 'invention_name'] chinese = '专利名称' @classmethod def parse(cls, raw, item, process: DetaildsRecord=None): if process is not None: patent_name = process.get_patent_name() item.patent_name = ResultItem(title=cls.title, value=str(patent_name)) return item
class Abstract(BaseItem): crawler_id = url_detail.get('crawler_id') english = 'abstract' chinese = '摘要' @classmethod def parse(cls, raw, item, process=None): if process is not None: abstract = BeautifulSoup( process.get('abstractInfoDTO').get('abIndexList')[0].get( 'value'), 'lxml').text.replace('\n', '').strip() item.abstract = ResultItem(title=cls.title, value=abstract) return item