博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过win32api与win32con模拟按键精灵爬取中国商标网数据
阅读量:5046 次
发布时间:2019-06-12

本文共 14473 字,大约阅读时间需要 48 分钟。

# -*- coding: utf-8 -*-# Author: Yakuho# Date  : 2019/8/8import asyncioimport osimport timeimport randomfrom selenium import webdriverimport buttonimport win32apiimport win32conimport queue# id_q = (x for x in range(int(input('想要爬取的起始注册号:')), int(input('想要爬取的最后注册号:')) + 1))info_q = queue.Queue()class Detail:    def __init__(self):        self.url = 'http://sbj.cnipa.gov.cn/'        self.executable_path = os.path.abspath('chromedriver.exe')        self.options = webdriver.ChromeOptions()        self.options.add_argument('--disable-gpu')        self.options.add_experimental_option('excludeSwitches', ['enable-automation'])        # self.options.add_argument('proxy-server=' + proxy)        self.browser = webdriver.Chrome(executable_path=self.executable_path, options=self.options)        self.position = (0, 0)    async def brand_check(self):        self.browser.set_script_timeout(4)        self.browser.set_page_load_timeout(4)        try:            self.browser.get(self.url)        except:            pass        win32api.SetCursorPos((0, 0))        # 商标查询        for i in button.button1:            win32api.SetCursorPos(i)            time.sleep(random.randint(2, 4) * 0.001)        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)        self.browser.close()  # 关闭第一个页面        await asyncio.sleep(4)        # 我同意        for i in button.button2:            win32api.SetCursorPos(i)            time.sleep(random.randint(2, 4) * 0.001)        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)        await asyncio.sleep(4)        # 综合查询        for i in button.button3:            win32api.SetCursorPos(i)            time.sleep(random.randint(2, 4) * 0.001)        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)        await asyncio.sleep(6)    async def main(self):        await self.brand_check()        infos = ['135001', '1350001']        for info in infos:            # info = id_q.get()            # 点击输入框            win32api.SetCursorPos((426, 415))            win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)            win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)            # 清空文本框            win32api.keybd_event(17, 0, 0, 0)            win32api.keybd_event(65, 0, 0, 0)            win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)            win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0)            win32api.keybd_event(8, 0, 0, 0)            win32api.keybd_event(8, 0, win32con.KEYEVENTF_KEYUP, 0)            # 输入识别号            for i in info:                win32api.keybd_event(ord(i), 0, 0, 0)                win32api.keybd_event(ord(i), 0, win32con.KEYEVENTF_KEYUP, 0)            # 点击查询            for i in button.button4_click:                win32api.SetCursorPos(i)                time.sleep(random.randint(2, 4) * 0.001)            win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)            win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)            # 点击查询的项目            win32api.SetCursorPos((126, 202))  # 输入框位置            await asyncio.sleep(4)            win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)            win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)            if self.browser.window_handles[-2] == 2:                self.browser.switch_to.window(self.browser.window_handles[-1])                self.browser.close()            else:                await asyncio.sleep(4)                self.browser.switch_to.window(self.browser.window_handles[-2])                print(self.browser.page_source)                # info_q.put(self.browser.page_source)                self.browser.close()                self.browser.switch_to.window(self.browser.window_handles[-1])                self.browser.close()if __name__ == "__main__":    progress1 = Detail()    # progress2 = Detail()    tasks = [progress1.main()]    asyncio.get_event_loop().run_until_complete(asyncio.gather(*tasks))
# -*- coding: utf-8 -*-# Author: Yakuho# Date  : 2019/8/9button1 = [(0, 1),  (0, 2),  (0, 3),  (0, 5),  (0, 9),  (1, 12),  (1, 16),  (2, 18),  (2, 20),  (2, 21),  (2, 24),           (2, 25),  (2, 26),  (2, 29),  (2, 32),  (3, 35),  (3, 39),  (3, 41),  (5, 45),  (6, 51),  (7, 55),           (8, 58),  (9, 62),  (11, 70),  (11, 71),  (14, 78),  (16, 82),  (22, 89),  (23, 96),  (27, 101),           (28, 106),  (30, 110),  (31, 113),  (32, 118),  (34, 124),  (37, 130),  (40, 137),  (43, 144),           (47, 153),  (50, 160),  (53, 168),  (57, 175),  (62, 183),  (66, 189),  (69, 196),  (71, 200),           (75, 206),  (78, 212),  (82, 218),  (86, 227),  (86, 229),  (87, 233),  (89, 240),  (91, 247),           (96, 253),  (101, 261),  (105, 268),  (108, 274),  (112, 282),  (117, 289),  (124, 297),  (129, 306),           (133, 315),  (139, 324),  (144, 333),  (149, 342),  (155, 353),  (160, 362),  (164, 371),  (168, 381),           (170, 388),  (173, 397),  (175, 403),  (177, 410),  (181, 419),  (185, 428),  (187, 435),  (191, 442),           (193, 450),  (197, 459),  (202, 468),  (206, 477),  (209, 485),  (211, 496),  (213, 504),  (215, 512),           (218, 520),  (220, 529),  (224, 538),  (228, 547),  (230, 554),  (233, 563),  (235, 570),  (237, 577),           (239, 583),  (240, 588),  (241, 595),  (243, 604),  (244, 611),  (244, 618),  (244, 626),  (244, 631),           (247, 639),  (248, 640),  (249, 643),  (250, 646),  (252, 654),  (252, 655),  (256, 667),  (256, 671),           (256, 677),  (256, 687),  (256, 690),  (256, 695),  (256, 699),  (259, 703),  (263, 708),  (264, 713),           (267, 717),  (268, 723),  (271, 727),  (272, 734)]button2 = [(270, 743), (271, 743), (271, 743), (272, 743), (273, 743), (274, 743), (275, 743), (278, 742), (281, 742),           (281, 742), (284, 741), (290, 740), (293, 739), (294, 739), (294, 739), (298, 738), (302, 736), (306, 735),           (308, 734), (310, 734), (310, 734), (313, 734), (316, 734), (318, 734), (318, 734), (321, 734), (324, 734),           (326, 734), (329, 733), (332, 732), (337, 731), (342, 730), (342, 730), (346, 730), (350, 728), (355, 727),           (355, 727), (355, 727), (359, 727), (362, 726), (366, 726), (371, 725), (375, 725), (375, 725), (379, 725),           (382, 724), (386, 723), (390, 723), (395, 722), (395, 722), (398, 722), (401, 722), (402, 721), (406, 720),           (409, 720), (411, 720), (411, 720), (413, 719), (416, 718), (419, 718), (424, 718), (424, 718), (427, 718),           (430, 717), (434, 716), (437, 715), (437, 715), (440, 714), (441, 714), (442, 714), (445, 714), (445, 714),           (449, 713), (450, 713), (453, 713), (457, 712), (459, 712), (459, 712), (462, 712), (463, 711), (465, 711),           (467, 710), (470, 709), (471, 708), (471, 708), (474, 708), (477, 707), (481, 706), (482, 706), (482, 706),           (482, 706), (483, 706), (485, 705), (486, 704), (486, 704), (488, 702), (489, 702), (490, 702), (491, 702),           (494, 700), (494, 699), (495, 699), (495, 699), (498, 698), (498, 698), (498, 698), (498, 697), (498, 697),           (499, 696), (499, 696), (502, 694), (502, 694), (502, 694), (504, 694), (506, 693), (506, 693), (509, 692),           (509, 690), (509, 690), (509, 690), (509, 690), (509, 690), (509, 690), (509, 690), (509, 690), (509, 690),           (509, 690), (510, 690), (510, 690), (511, 690), (511, 690), (512, 688), (512, 688), (513, 687), (513, 687),           (513, 687), (513, 687), (513, 687), (513, 687), (513, 687), (513, 687), (513, 687)]button3 = [(512, 682), (514, 678), (514, 676), (515, 674), (517, 670), (518, 668), (518, 668), (519, 668), (519, 667),           (520, 663), (521, 662), (522, 660), (523, 658), (523, 658), (523, 655), (525, 654), (526, 651), (526, 647),           (527, 642), (527, 642), (528, 641), (528, 635), (529, 634), (531, 629), (531, 625), (532, 622), (532, 622),           (533, 618), (534, 615), (534, 611), (534, 610), (535, 606), (535, 606), (536, 602), (536, 598), (537, 595),           (538, 591), (538, 590), (538, 590), (538, 587), (538, 582), (538, 578), (538, 577), (538, 573), (540, 569),           (541, 567), (541, 567), (541, 564), (541, 562), (541, 561), (542, 555), (542, 554), (542, 554), (542, 551),           (542, 549), (542, 546), (542, 546), (542, 543), (543, 541), (543, 541), (543, 538), (545, 536), (545, 534),           (545, 531), (546, 530), (546, 529), (546, 526), (546, 526), (546, 523), (546, 521), (546, 518), (547, 517),           (548, 514), (548, 514), (548, 512), (548, 511), (548, 509), (548, 506), (548, 503), (548, 503), (548, 499),           (549, 498), (549, 496), (549, 495), (550, 492), (550, 490), (550, 490), (550, 486), (550, 486), (550, 485),           (550, 484), (550, 481), (550, 479), (550, 479), (550, 478), (550, 476), (551, 474), (551, 474), (551, 474),           (551, 474), (551, 473), (551, 471), (552, 470), (552, 470), (552, 467), (552, 467), (552, 466), (552, 466),           (552, 466), (553, 465), (553, 463), (553, 462), (554, 461)]button4_click = [(426, 415), (426, 420), (426, 420), (428, 425), (429, 427), (431, 431), (434, 433), (435, 437), (437, 440),           (437, 440), (437, 440), (439, 446), (439, 451), (442, 455), (442, 460), (442, 460), (444, 462), (445, 465),           (446, 467), (446, 470), (446, 470), (447, 473), (448, 476), (449, 481), (450, 484), (450, 485), (450, 485),           (450, 486), (452, 490), (453, 492), (453, 493), (454, 494), (454, 494), (455, 495), (456, 497), (457, 500),           (458, 500), (458, 500), (458, 502), (458, 504), (458, 505), (459, 506), (462, 510), (462, 510), (462, 512),           (463, 515), (464, 518), (465, 521), (465, 521), (466, 522), (467, 524), (468, 527), (472, 530), (473, 531),           (473, 531), (474, 534), (474, 535), (475, 538), (477, 540), (477, 541), (481, 546), (481, 546), (481, 549),           (482, 552), (483, 554), (484, 555), (484, 555), (484, 558), (485, 559), (485, 560), (485, 562), (486, 564),           (486, 564), (486, 566), (487, 568), (487, 569), (487, 571), (487, 571), (487, 573), (488, 575), (489, 579),           (490, 585), (490, 585), (490, 586), (490, 592), (491, 595), (491, 598), (491, 600), (491, 600), (491, 602),           (492, 604), (492, 608), (492, 610), (492, 610), (492, 613), (492, 616), (492, 619), (492, 621), (492, 623),           (492, 623), (492, 626), (492, 628), (494, 630), (494, 633), (494, 634), (494, 634), (494, 634), (495, 637),           (496, 638), (498, 640), (498, 640), (498, 641), (499, 642), (499, 642), (499, 642), (500, 644), (500, 644),           (500, 644), (501, 645), (501, 645)]button4_check = [(501, 645), (501, 645), (500, 644), (500, 644), (500, 644), (499, 642), (499, 642), (499, 642),                 (498, 641), (498, 640), (498, 640), (496, 638), (495, 637), (494, 634), (494, 634), (494, 634),                 (494, 633), (494, 630), (492, 628), (492, 626), (492, 623), (492, 623), (492, 621), (492, 619),                 (492, 616), (492, 613), (492, 610), (492, 610), (492, 608), (492, 604), (491, 602), (491, 600),                 (491, 600), (491, 598), (491, 595), (490, 592), (490, 586), (490, 585), (490, 585), (489, 579),                 (488, 575), (487, 573), (487, 571), (487, 571), (487, 569), (487, 568), (486, 566), (486, 564),                 (486, 564), (485, 562), (485, 560), (485, 559), (484, 558), (484, 555), (484, 555), (483, 554),                 (482, 552), (481, 549), (481, 546), (481, 546), (477, 541), (477, 540), (475, 538), (474, 535),                 (474, 534), (473, 531), (473, 531), (472, 530), (468, 527), (467, 524), (466, 522), (465, 521),                 (465, 521), (464, 518), (463, 515), (462, 512), (462, 510), (462, 510), (459, 506), (458, 505),                 (458, 504), (458, 502), (458, 500), (458, 500), (457, 500), (456, 497), (455, 495), (454, 494),                 (454, 494), (453, 493), (453, 492), (452, 490), (450, 486), (450, 485), (450, 485), (450, 484),                 (449, 481), (448, 476), (447, 473), (446, 470), (446, 470), (446, 467), (445, 465), (444, 462),                 (442, 460), (442, 460), (442, 455), (439, 451), (439, 446), (437, 440), (437, 440), (437, 440),                 (435, 437), (434, 433), (431, 431), (429, 427), (428, 425), (426, 420), (426, 420), (426, 415)]button5 = [(329, 454),(330, 455),(332, 456),(334, 458),(335, 458),(337, 459),(338, 461),(340, 463),(342, 465),(342, 467),(344, 467),(344, 469),(345, 469),(345, 469),(345, 469),(345, 470),(345, 470),(347, 472),(348, 474),(350, 476),(351, 478),(351, 478),(352, 479),(353, 480),(353, 481),(355, 481),(355, 483),(357, 483),(359, 483),(361, 484),(363, 486),(365, 487),(365, 488),(366, 490),(367, 490),(369, 490),(369, 490),(369, 490),(371, 490),(373, 491),(375, 493),(376, 494),(379, 494),(380, 494),(381, 496),(381, 498),(381, 498),(381, 498),(381, 499),(383, 499),(384, 501),(385, 501),(385, 502),(388, 504),(388, 505),(389, 505),(390, 506),(390, 507),(390, 507),(392, 507),(392, 507),(392, 508),(393, 510),(393, 512),(393, 514),(393, 516),(395, 518),(395, 519),(396, 521),(396, 523),(396, 525),(397, 526),(397, 526),(399, 528),(401, 530),(401, 532),(402, 534),(402, 536),(404, 536),(404, 538),(405, 538),(406, 539),(407, 541),(409, 541),(409, 543),(411, 543),(412, 545),(413, 547),(414, 548),(414, 548),(415, 550),(417, 550),(418, 551),(418, 553),(418, 554),(419, 556),(421, 556),(422, 556),(423, 558),(425, 560),(426, 562),(428, 564),(430, 564),(432, 565),(433, 566),(434, 566),(435, 567),(437, 567),(439, 567),(441, 569),(443, 570),(443, 572),(445, 573),(445, 575),(445, 577),(445, 579),(447, 581),(447, 583),(449, 583),(449, 585),(452, 585),(453, 587),(453, 589),(453, 590),(453, 592),(456, 593),(457, 595),(458, 596),(459, 596),(461, 597),(462, 597),(464, 598),(464, 600),(464, 600),(464, 601),(466, 603),(468, 604),(470, 604),(471, 606),(471, 607),(471, 609),(473, 611),(475, 613),(477, 613),(477, 614),(479, 614),(481, 614),(483, 615),(484, 615),(484, 617),(485, 618),(486, 618),(486, 618),(487, 619),(487, 621),(488, 621),(488, 622),(488, 622),(489, 624),(489, 624),(490, 625),(490, 627),(490, 628),(492, 630),(493, 630),(494, 632),(494, 634),(494, 634),(495, 634),(495, 635),(497, 637),(497, 639),(499, 640),(500, 641),(500, 642),(502, 642),(504, 644),(506, 644),(508, 644),(508, 644),(508, 644),(510, 645),(511, 647),]

 

转载于:https://www.cnblogs.com/darwinli/p/11380994.html

你可能感兴趣的文章
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&&打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
【转载】 IP实时传输协议RTP/RTCP详解
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
Linux系统的数据写入机制--延迟写入
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>