知网专利信息爬虫!强无敌
声明:本文只作学习研究 , 禁止用于非法用途 , 否则后果自负 , 如有侵权 , 请告知删除 , 谢谢!
项目场景:网址:这次给大家带来的是知网专利信息的获取 , 没有复杂的反爬措施 , 只要先用session获取查询时的cookie , 然后带着cookie访问列表页即可 。
项目代码:这里要讲解一下 , 一个页面最多50条数据 , 最多120页 , 所以我们要想获取全部的数据 , 就要对专利类型进行帅选(尽量细分) , 这样根据日期和专利类型搜索 , 大部分数据都能获取到 。
文章插图
文章插图
测试代码如下 , 可自行修改import requests,refrom lxml import etreedef get_cookie(): # 获取访问的cookieparams = (('action', ''),('NaviCode', 'A'), # 筛选的类别('ua', '1.21'),('PageName', 'ASP.brief_result_aspx'),('DbPrefix', 'SCPD'),('DbCatalog', '\u4E2D\u56FD\u4E13\u5229\u6570\u636E\u5E93'),('ConfigFile', 'SCPD.xml'),('db_opt', '\u4E2D\u56FD\u4E13\u5229\u6570\u636E\u5E93'),('db_value', '\u4E2D\u56FD\u4E13\u5229\u6570\u636E\u5E93'),('date_gkr_from', '2020-01-24'), # 筛选日期('date_gkr_to', '2020-01-24'), # 筛选日期('his', '0'),('__', 'Fri Oct 16 2020 14:37:38 GMT+0800 (\u4E2D\u56FD\u6807\u51C6\u65F6\u95F4)'),)session = requests.session()session.get('', headers=headers, params=params)return sessiondef get_list_info(): # 获取列表页params = (('curpage', '1'), # 当前页数('RecordsPerPage', '50'),('QueryID', '20'),('ID', ''),('turnpage', '1'),('tpagemode', 'L'),('dbPrefix', 'SCPD'),('Fields', ''),('DisplayMode', 'listmode'),('SortType', "(公开日, 'DATE')desc"),('PageName', 'ASP.brief_result_aspx'),)response = session.get('', headers=headers, params=params)selector = etree.HTML(response.text)urls_info = re.compile("(.*?)').findall(response.text)[0]gb_id = re.compile('【公开号】(.*?)【').findall(main_info)[0]gb_time = re.compile('【公开日】(.*?)【').findall(main_info)[0]sq_id = re.compile('【申请号】(.*?)【').findall(main_info)[0]sq_time = re.compile('【申请日】(.*?)【').findall(main_info)[0]sq_person = re.compile('【申请人】(.*?)【').findall(main_info)[0]addr = re.compile('【地址】(.*?)【').findall(main_info)[0]fmr = '#'.join(re.compile('【发明人】(.*?)【').findall(main_info)[0].split(';'))int_cl = re.compile('【专利分类号】(.*?)推荐下载').findall(main_info)[0]try:patent_agency = re.compile('【专利代理机构】(.*?)【').findall(main_info)[0]agent = '#'.join(re.compile('【代理人】(.*?)【').findall(main_info)[0].split(';'))except Exception:patent_agency = agent = ''abstract = re.compile('【摘要】(.*?)【').findall(main_info)[0].replace("'", '"')print(title, gb_id, gb_time, sq_id, sq_time, sq_person, addr, fmr, int_cl, patent_agency, agent, abstract)# breakif __name__ == '__main__':headers = {'Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36','Referer': '',}session = get_cookie()urls_info = get_list_info()get_detil()
文章插图
结语:注:下面给出博主的细分类型#分类idnavicode_list = ['A001,A002,A003,A004,A005,A006,A007','A008,A009,A010,A011,A012,A013','F,G,H,J','B014_1,B014_2','B014_31,B014_32,B014_33,B014_34,B014_35,B014_36,B014_37','B014_38,B014_39,B014_3A','B014_4','B014_5,B014_6,B014_7,B014_8','B015_1,B015_3,B015_4,B015_5,B015_6,B015_7,B015_8','B015_2','B016_11','B016_12','B016_3,B016_5,B016_6,B016_7,B016_8','B016_4','B016_21,B016_22,B016_23,B016_24,B016_26,B016_27,B016_28,B016_29','B016_25','B017,B018,B019','B020_1','B020_2,B020_3,B020_4,B020_5,B020_6,B020_7,B020_8,B020_9,B020_A,B020_B,B020_C','B021,B023,B025','B022_1,B022_2,B022_3,B022_4,B022_5','B022_6,B022_7','B022_8,B022_B,B022_C','B022_9','B022_A','B024_3','B024_7','B024_1,B024_2,B024_4,B024_5,B024_6','B024_A','B024_B,B024_E','B024_C','B024_D','B024_8,B024_9','B026','B027_1,B027_2,B027_3,B027_4','B027_5,B027_6','C028_1,C028_2,C028_4,C028_5,C028_6,C028_7,C028_8','C028_9','C028_38','C028_31,C028_32,C028_33,C028_34,C028_35','C028_36,C028_37,C028_39,C028_3A,C028_3B,C028_3C','C029_1,C029_2,C029_3,C029_4,C029_6,C029_7','C029_8,C029_9,C029_B,C029_C,C029_D','C029_51,C029_52,C029_53,C029_54,C029_55','C029_56,C029_57,C029_58,C029_59','C029_A1,C029_A3','C029_A2','C030_1,C030_2,C030_3,C030_4,C030_5','C030_6,C030_7,C030_8,C030_9,C030_A','C030_B,C030_C,C030_D,C030_E,C030_F,C030_G,C030_H,C030_I','C031,C032,C033,C034','C035_1,C035_2,C035_3,C035_4,C035_5,C035_6,C035_7,C035_8','C035_9,C035_A,C035_B,C035_C,C035_D,C035_E','C036,C037,C040,C041','C038_1,C038_21,C038_22,C038_23,C038_24,C038_3','C038_25,C038_26,C038_27,C038_28,C038_29','C039','C042','D043,D044,D045,D046,D047','D044,D045,D046,D047','I135_1,I135_2,I135_3,I135_4,I135_7,I135_8','I135_6','I135_522,I135_523,I135_524','I135_521','I138_1,I138_2,I138_3,I138_4,I138_5,I138_6,I138_7,I138_8,I138_9,I138_A,I138_B','I138_C12,I138_C13,I138_C14,I138_C2','I138_C11','I136_87,I136_88','I136_84,I136_85,I136_86','I136_81,I136_82,I136_83','I137_3,I137_4,I137_5','I137_1,I137_2','I139,I140,I141,I142,I143,I144','I136_1,I136_2,I136_3,I136_4,I136_5,I136_6,I136_7','I136_9,I136_A,I136_B,I136_C,I136_D,I136_E,I
- 国外|坐拥77件专利,打破国外的垄断,造出中国最先进的家电芯片
- 信息|澜湄合作机制开通水资源合作信息共享平台
- 通气会|12月4~6日,2020中国信息通信大会将在成都举行
- 互联网|强制收集个人信息?国家网信办拟为38类App戴紧箍
- 建设|龙元建设中标中国移动宁波信息通信产业园二期施工项目
- 摄像头|摄像头造型别出心裁 realme全新手机设计专利曝光
- 湖北|湖北将建立进口冷链食品信息追溯平台
- 贵阳|捷顺科技(002609.SZ)中标贵阳智慧停车公共信息服务平台系统建设项目
- 算法|【远见】个人信息保护法将出台 揭开数据算法的神秘“面纱”
- 输送|新时达:“用于机器人码垛的输送系统”获发明专利