From 70040f1c0ac3f5538e056a7912b984bc020f5831 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 30 Oct 2023 13:39:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 6 + main.ui | 330 +++++++++--------- mycode/crawl_chrome.py | 74 ++-- mycode/main.py | 6 +- start.py | 88 ++--- .../10月-总院宣传阵地巡查简报.docx | Bin 0 -> 70870 bytes ui_mainwindow.py | 138 ++++---- web3.py | 29 +- zcspider/pipelines.py | 2 +- zcspider/settings.py | 6 +- zcspider/spiders/base.py | 69 ++-- 网络巡查.bat | 42 +-- 网络巡查.exe | Bin 128000 -> 0 bytes 13 files changed, 404 insertions(+), 386 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 summary/10月-总院宣传阵地巡查简报.docx delete mode 100644 网络巡查.exe diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5c80254 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "[python]": { + "editor.defaultFormatter": "ms-python.autopep8" + }, + "python.formatting.provider": "none" +} diff --git a/main.ui b/main.ui index 48e4fa2..42213ed 100644 --- a/main.ui +++ b/main.ui @@ -7,7 +7,7 @@ 0 0 600 - 725 + 763 @@ -19,13 +19,13 @@ 600 - 725 + 763 600 - 725 + 763 @@ -80,7 +80,7 @@ 20 30 - 75 + 151 24 @@ -123,70 +123,13 @@ - + 10 380 191 - 111 - - - - - 11 - - - - 2.确认需要抓取的网站 - - - - - 20 - 30 - 151 - 24 - - - - background-color:#409EFF; color: white; border-radius: 2px - - - 打开网站列表Excel - - - - - - 20 - 70 - 151 - 16 - - - - - 楷体 - 10 - false - - - - color: red; - - - 请在修改后保存并关闭 - - - - - - - 10 - 500 - 191 - 101 + 91 @@ -217,7 +160,7 @@ 20 - 70 + 60 151 16 @@ -237,115 +180,11 @@ - - - - 210 - 280 - 381 - 321 - - - - - 11 - - - - 4.开始执行巡查 - - - - - 10 - 80 - 361 - 231 - - - - - 9 - - - - - - - - - - 300 - 50 - 75 - 24 - - - - background-color:#409EFF; color: white; border-radius: 2px - - - 开始巡查 - - - - - - 10 - 30 - 251 - 41 - - - - - 楷体 - 12 - false - - - - color: red; - - - 务必确认前3步已经完成! - - - true - - - - - - 300 - 20 - 41 - 20 - - - - 30 - - - - - - 350 - 20 - 41 - 21 - - - - KB - - - 10 - 610 + 650 581 71 @@ -503,6 +342,159 @@ 6 + + + + 210 + 280 + 371 + 361 + + + + + 11 + + + + 日志显示 + + + + + 10 + 20 + 351 + 321 + + + + + 9 + + + + + + + + + + + 10 + 490 + 191 + 151 + + + + + 11 + + + + 2.确认需要抓取的网站 + + + + + 20 + 30 + 151 + 24 + + + + background-color:#409EFF; color: white; border-radius: 2px + + + 打开网站列表Excel + + + + + + 20 + 60 + 151 + 16 + + + + + 楷体 + 10 + false + + + + color: red; + + + 请在修改后保存并关闭 + + + + + + 20 + 80 + 41 + 21 + + + + 小于 + + + + + + 100 + 80 + 121 + 21 + + + + KB-Chrome + + + + + + 50 + 80 + 41 + 20 + + + + 20 + + + + + + 20 + 110 + 151 + 24 + + + + + 12 + + + + background-color:#409EFF; color: white; border-radius: 2px + + + 开始巡查 + + + diff --git a/mycode/crawl_chrome.py b/mycode/crawl_chrome.py index 7d9c7b0..d5a6603 100644 --- a/mycode/crawl_chrome.py +++ b/mycode/crawl_chrome.py @@ -10,6 +10,30 @@ import os chrome_driver_file = os.path.join(BASE_DIR, 'mycode', 'chromedriver.exe') failed_sites_file = os.path.join(BASE_DIR, 'mycode/failed_sites.xlsx') +def fix_url_scheme(url, default_scheme='http'): + # 检查URL是否包含方案 + if not url.startswith('http://') and not url.startswith('https://'): + # 如果没有方案,添加默认方案 + url = f'{default_scheme}://{url}' + return url + +def init_driver(): + # Set up Chrome WebDriver with custom User-Agent + options = Options() + options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36") + prefs = {"profile.managed_default_content_settings.images": 2, 'profile.managed_default_content_settings.notifications':2} + options.add_argument("--disable-default-apps") # 禁用默认应用程序 + # 禁用 "tel" 协议处理 + options.add_argument("--disable-features=WebAppInstallForceList,ProtocolHandler,ProtocolHandlerMixedSchemes") + options.add_argument("--disable-protocol-handler") + + # 禁用 "mailto" 协议处理 + options.add_argument("--disable-features=WebAppInstallForceList,ProtocolHandler,ProtocolHandlerMixedSchemes,PreloadMediaEngagementData") + options.add_argument("--disable-protocol-handler") + options.add_experimental_option("prefs", prefs) + driver = webdriver.Chrome(chrome_driver_file, options=options) + return driver + def open_website(url): # Set up Chrome WebDriver with custom User-Agent options = Options() @@ -34,7 +58,9 @@ def ignore_image_and_document_hrefs(href): # Check if the href has a domain suffix of image or document file extensions return file_extension.lower() in ('.png', '.jpg', '.jpeg', '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.rar', '.zip', '.ico', '.css', '.js') -def process_page(driver, url, visited_pages, start_domain, data): +def process_page(driver, url, visited_pages, start_domain, data, group, name): + if not url.startswith('http'): + return # Add the URL to visited pages visited_pages.add(url) # Navigate to the URL @@ -46,8 +72,8 @@ def process_page(driver, url, visited_pages, start_domain, data): content_text = content_element.text # print(content_text) # Add URL, Domain, and Content to the data list - data.append([start_domain, url, content_text]) - + data.append([group, name, start_domain, url, content_text]) + # Find and process hyperlinks hrefs = extract_hyperlinks(driver) for href in hrefs: @@ -65,26 +91,26 @@ def process_page(driver, url, visited_pages, start_domain, data): parsed_href = urlparse(href) if parsed_href.netloc.replace("www.", "") != start_domain: continue - # Open the href in the same tab and retrieve data - driver.get(href) - # print(href) - # Wait for the page to load - time.sleep(2) - # Extract the content from the hyperlink page - hyperlink_content_element = driver.find_element(By.XPATH, '//body') - hyperlink_content_text = hyperlink_content_element.text - # print(hyperlink_content_text) - # Add URL, Domain, and Content of the hyperlink to the data list - data.append([start_domain, href, hyperlink_content_text]) + # # Open the href in the same tab and retrieve data + # driver.get(href) + # # print(href) + # # Wait for the page to load + # time.sleep(2) + # # Extract the content from the hyperlink page + # hyperlink_content_element = driver.find_element(By.XPATH, '//body') + # hyperlink_content_text = hyperlink_content_element.text + # # print(hyperlink_content_text) + # # Add URL, Domain, and Content of the hyperlink to the data list + # data.append([start_domain, href, hyperlink_content_text]) # Recursively process the page and follow hyperlinks - process_page(driver, href, visited_pages, start_domain, data) + process_page(driver, href, visited_pages, start_domain, data, group, name) except Exception as e: print(f"Error processing hyperlink: {href}") print(f"Error message: {str(e)}") continue # Return to the original page - driver.get(url) + # driver.get(url) def check_href(href, original_url, visited_pages): parsed_href = urlparse(href) @@ -134,14 +160,18 @@ def add_cookies(driver, cookies): driver.add_cookie({'name': name, 'value': value}) def chrom_main_from_list(sites): + driver = init_driver() for ind, item in enumerate(sites): group = item[0] # Replace with the actual column name for group name = item[1] url = item[2] domain = urlparse(url).netloc.replace("www.", "") - + if domain in ['xdjstc.com', 'epcyiqizu.com', 'cbra.ctc.ac.cn']: + continue + url = fix_url_scheme(url) + print(url) # Open the website - driver = open_website(url) + driver.get(url) # Retrieve cookies from previous session cookies = get_cookies_from_previous_session(driver) @@ -154,14 +184,14 @@ def chrom_main_from_list(sites): data = [] # Process the starting page and follow hyperlinks recursively - process_page(driver, url, visited_pages, domain, data) + process_page(driver, url, visited_pages, domain, data, group, name) # Export data to a separate Excel file in the web_dir directory output_filename = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') export_to_excel(data, output_filename) - # Close the WebDriver - driver.quit() + # Close the WebDriver + driver.quit() def chrome_main(): # Read failed URLs from the list @@ -172,7 +202,7 @@ def chrome_main(): name = row['主办'] url = row['地址'] domain = urlparse(url).netloc.replace("www.", "") - + # Open the website driver = open_website(url) diff --git a/mycode/main.py b/mycode/main.py index da6b344..7f83388 100644 --- a/mycode/main.py +++ b/mycode/main.py @@ -73,11 +73,13 @@ def ana_wechat(): def ana_web(): output_data = [] index = 1 - for file in os.listdir(web_dir): full_path = os.path.join(web_dir, file) + if '$' in full_path: + continue + print(full_path) if os.path.getsize(full_path) > 0: - df = pd.read_excel(os.path.join(web_dir, file)) + df = pd.read_excel(os.path.join(full_path), engine='openpyxl') for ind, row in df_s.iterrows(): mask = df['text'].str.contains(row['错误表述'], na=False) result = df[mask] diff --git a/start.py b/start.py index 3d754b2..8c5864e 100644 --- a/start.py +++ b/start.py @@ -21,6 +21,12 @@ BIAO_PATH = os.path.join(BASE_DIR, 'biao.xlsx') PYTHON_PATH = os.path.join(BASE_DIR, 'runtime/python.exe') TEMPLATE_PATH = os.path.join(BASE_DIR, 'summary/template.xlsx') +def fix_url_scheme(url, default_scheme='http'): + # 检查URL是否包含方案 + if not url.startswith('http://') and not url.startswith('https://'): + # 如果没有方案,添加默认方案 + url = f'{default_scheme}://{url}' + return url class MyApplication(QApplication): def __init__(self, argv): super(MyApplication, self).__init__(argv) @@ -49,52 +55,17 @@ class MyThread(QThread): if output: self.update_signal.emit({'msg': output.strip()}) - def run(self) -> None: + def ana(self): month = datetime.datetime.now().month - self.update_signal.emit({'msg': '巡查任务开始...'}) + self.update_signal.emit({'msg': '对比开始...'}) self.update_signal.emit({'msg': '正在组合微信公众号爬取内容...'}) make_simple_csv_from_db() make_wechat_articles_full() self.update_signal.emit({'msg': "公众号爬取内容组装完毕!"}) - self.update_signal.emit({'msg': '开始进行网站爬取...'}) - df = pd.read_excel('web_sites.xlsx', sheet_name='Sheet1') - ind = 0 - for ind, row in df.iterrows(): - group = row['单位'] - name = row['主办'] - url = row['地址'] - domain = urlparse(url).netloc.replace('www.', '') - # output = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') - # -u 代表不缓冲,直接输出 - cmd = [PYTHON_PATH, '-u', '-m', 'scrapy', 'crawl', 'basespider', '-a', f'domain={domain}', '-a', f'start_url={url}', '-a', f'name={name}', '-a', f'group={group}', '-o', f'web_dir/{name}_{domain}.xlsx'] - process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=False) - self.processes.append(process) - self.running = True - getlog_thread = threading.Thread(target=self.capture_output, args=(process,), daemon=True) - getlog_thread.start() - - for process in self.processes: - process.wait() - self.update_signal.emit({'msg': '网站爬取结束,校验中...'}) - info_to_save = [] - for ind, row in df.iterrows(): - group = row['单位'] - name = row['主办'] - url = row['地址'] - domain = urlparse(url).netloc.replace("www.", "") - output_filename = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') - if os.path.exists(output_filename): - file_size = os.path.getsize(output_filename) - if file_size < self.lsize * 1024: # Convert KB to bytes - info_to_save.append([group, name, url]) - if info_to_save: - self.update_signal.emit({'msg': '存在未爬取站点,正在调用Chrome继续爬取...'}) - chrom_main_from_list(info_to_save) - self.update_signal.emit({'msg': '网站爬取完毕!'}) self.update_signal.emit({'msg': '开始对比分析所有内容...'}) wechat_results = ana_wechat() web_results = ana_web() - output_excel_path = os.path.join(BASE_DIR, f'summary/{month}月-总院及下属公司官方公众号巡查结果汇总表.xlsx') + output_excel_path = os.path.join(BASE_DIR, f'summary/{month}月-总院宣传阵地巡查结果汇总表.xlsx') workbook = load_workbook(TEMPLATE_PATH) # 选择要操作的工作表 wechat_sheet = workbook['公众号'] @@ -105,7 +76,45 @@ class MyThread(QThread): web_sheet.append(row) workbook.save(output_excel_path) workbook.close() - self.update_signal.emit({'msg': '巡查任务执行完毕, 请查看结果栏, 可手动校对', 'output_excel_path': output_excel_path}) + self.update_signal.emit({'msg': '分析完毕, 请查看结果栏, 可手动校对', 'output_excel_path': output_excel_path}) + + def run(self) -> None: + self.update_signal.emit({'msg': '开始进行网站爬取...'}) + df = pd.read_excel('web_sites.xlsx', sheet_name='Sheet1') + ind = 0 + for ind, row in df.iterrows(): + group = row['单位'] + name = row['主办'] + url = fix_url_scheme(row['地址'].strip()) + domain = urlparse(url).netloc.replace('www.', '') + output = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') + # -u 代表不缓冲,直接输出 + cmd = [PYTHON_PATH, '-u', '-m', 'scrapy', 'crawl', 'basespider', '-a', f'domain={domain}', '-a', f'start_url={url}', '-a', f'name={name}', '-a', f'group={group}', '-a', f'output={output}'] + process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=False) + self.processes.append(process) + self.running = True + getlog_thread = threading.Thread(target=self.capture_output, args=(process,), daemon=True) + getlog_thread.start() + + for process in self.processes: + process.wait() + self.update_signal.emit({'msg': '网站爬取结束,校验中...'}) + info_to_save = [] + for ind, row in df.iterrows(): + group = row['单位'] + name = row['主办'] + url = fix_url_scheme(row['地址'].strip()) + domain = urlparse(url).netloc.replace("www.", "") + output_filename = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') + if os.path.exists(output_filename): + file_size = os.path.getsize(output_filename) + if file_size < self.lsize * 1024: # Convert KB to bytes + info_to_save.append([group, name, url]) + if info_to_save: + self.update_signal.emit({'msg': '存在未爬取站点,正在调用Chrome继续爬取...'}) + chrom_main_from_list(info_to_save) + self.update_signal.emit({'msg': '网站爬取完毕!'}) + self.ana() self.exec() def close(self): @@ -192,6 +201,7 @@ class MainWindow(QMainWindow): self.worker_thread.update_signal.connect(self.update_log) self.worker_thread.start() + def update_log(self, rdict): self.log(f'{self.get_time()}-{rdict["msg"]}', False) if 'output_excel_path' in rdict: diff --git a/summary/10月-总院宣传阵地巡查简报.docx b/summary/10月-总院宣传阵地巡查简报.docx new file mode 100644 index 0000000000000000000000000000000000000000..167b6f0c23d006a738e1321ef4d33e2cc4611de4 GIT binary patch literal 70870 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 literal 0 HcmV?d00001 diff --git a/ui_mainwindow.py b/ui_mainwindow.py index e52b58d..f849192 100644 --- a/ui_mainwindow.py +++ b/ui_mainwindow.py @@ -23,14 +23,14 @@ class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") - MainWindow.resize(600, 725) + MainWindow.resize(600, 763) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) - MainWindow.setMinimumSize(QSize(600, 725)) - MainWindow.setMaximumSize(QSize(600, 725)) + MainWindow.setMinimumSize(QSize(600, 763)) + MainWindow.setMaximumSize(QSize(600, 763)) icon = QIcon() icon.addFile(u"start.ico", QSize(), QIcon.Normal, QIcon.Off) MainWindow.setWindowIcon(icon) @@ -50,7 +50,7 @@ class Ui_MainWindow(object): self.groupBox.setFont(font) self.bWechat = QPushButton(self.groupBox) self.bWechat.setObjectName(u"bWechat") - self.bWechat.setGeometry(QRect(20, 30, 75, 24)) + self.bWechat.setGeometry(QRect(20, 30, 151, 24)) self.bWechat.setFont(font) self.bWechat.setAutoFillBackground(False) self.bWechat.setStyleSheet(u"background-color:#409EFF; color: white; border-radius: 2px") @@ -63,22 +63,9 @@ class Ui_MainWindow(object): font1.setBold(False) self.label_5.setFont(font1) self.label_5.setStyleSheet(u"color: red;") - self.groupBox_2 = QGroupBox(self.centralwidget) - self.groupBox_2.setObjectName(u"groupBox_2") - self.groupBox_2.setGeometry(QRect(10, 380, 191, 111)) - self.groupBox_2.setFont(font) - self.bWebSite = QPushButton(self.groupBox_2) - self.bWebSite.setObjectName(u"bWebSite") - self.bWebSite.setGeometry(QRect(20, 30, 151, 24)) - self.bWebSite.setStyleSheet(u"background-color:#409EFF; color: white; border-radius: 2px") - self.label_2 = QLabel(self.groupBox_2) - self.label_2.setObjectName(u"label_2") - self.label_2.setGeometry(QRect(20, 70, 151, 16)) - self.label_2.setFont(font1) - self.label_2.setStyleSheet(u"color: red;") self.groupBox_3 = QGroupBox(self.centralwidget) self.groupBox_3.setObjectName(u"groupBox_3") - self.groupBox_3.setGeometry(QRect(10, 500, 191, 101)) + self.groupBox_3.setGeometry(QRect(10, 380, 191, 91)) self.groupBox_3.setFont(font) self.bBiao = QPushButton(self.groupBox_3) self.bBiao.setObjectName(u"bBiao") @@ -86,54 +73,23 @@ class Ui_MainWindow(object): self.bBiao.setStyleSheet(u"background-color:#409EFF; color: white; border-radius: 2px") self.label_4 = QLabel(self.groupBox_3) self.label_4.setObjectName(u"label_4") - self.label_4.setGeometry(QRect(20, 70, 151, 16)) + self.label_4.setGeometry(QRect(20, 60, 151, 16)) self.label_4.setFont(font1) self.label_4.setStyleSheet(u"color: red;") - self.groupBox_4 = QGroupBox(self.centralwidget) - self.groupBox_4.setObjectName(u"groupBox_4") - self.groupBox_4.setGeometry(QRect(210, 280, 381, 321)) - self.groupBox_4.setFont(font) - self.vLog = QListView(self.groupBox_4) - self.vLog.setObjectName(u"vLog") - self.vLog.setGeometry(QRect(10, 80, 361, 231)) - font2 = QFont() - font2.setPointSize(9) - self.vLog.setFont(font2) - self.vLog.setStyleSheet(u"") - self.bStart = QPushButton(self.groupBox_4) - self.bStart.setObjectName(u"bStart") - self.bStart.setGeometry(QRect(300, 50, 75, 24)) - self.bStart.setStyleSheet(u"background-color:#409EFF; color: white; border-radius: 2px") - self.label_6 = QLabel(self.groupBox_4) - self.label_6.setObjectName(u"label_6") - self.label_6.setGeometry(QRect(10, 30, 251, 41)) - font3 = QFont() - font3.setFamilies([u"\u6977\u4f53"]) - font3.setPointSize(12) - font3.setBold(False) - self.label_6.setFont(font3) - self.label_6.setStyleSheet(u"color: red;") - self.label_6.setWordWrap(True) - self.lSize = QLineEdit(self.groupBox_4) - self.lSize.setObjectName(u"lSize") - self.lSize.setGeometry(QRect(300, 20, 41, 20)) - self.label_3 = QLabel(self.groupBox_4) - self.label_3.setObjectName(u"label_3") - self.label_3.setGeometry(QRect(350, 20, 41, 21)) self.groupBox_5 = QGroupBox(self.centralwidget) self.groupBox_5.setObjectName(u"groupBox_5") - self.groupBox_5.setGeometry(QRect(10, 610, 581, 71)) + self.groupBox_5.setGeometry(QRect(10, 650, 581, 71)) self.groupBox_5.setFont(font) self.label_7 = QLabel(self.groupBox_5) self.label_7.setObjectName(u"label_7") self.label_7.setGeometry(QRect(10, 20, 91, 16)) - font4 = QFont() - font4.setPointSize(10) - self.label_7.setFont(font4) + font2 = QFont() + font2.setPointSize(10) + self.label_7.setFont(font2) self.label_8 = QLabel(self.groupBox_5) self.label_8.setObjectName(u"label_8") self.label_8.setGeometry(QRect(10, 40, 91, 16)) - self.label_8.setFont(font4) + self.label_8.setFont(font2) self.line = QFrame(self.groupBox_5) self.line.setObjectName(u"line") self.line.setGeometry(QRect(10, 30, 561, 16)) @@ -142,11 +98,13 @@ class Ui_MainWindow(object): self.lRes1 = QLabel(self.groupBox_5) self.lRes1.setObjectName(u"lRes1") self.lRes1.setGeometry(QRect(110, 15, 381, 21)) - self.lRes1.setFont(font2) + font3 = QFont() + font3.setPointSize(9) + self.lRes1.setFont(font3) self.lRes2 = QLabel(self.groupBox_5) self.lRes2.setObjectName(u"lRes2") self.lRes2.setGeometry(QRect(110, 40, 381, 16)) - self.lRes2.setFont(font2) + self.lRes2.setFont(font3) self.bRes1 = QPushButton(self.groupBox_5) self.bRes1.setObjectName(u"bRes1") self.bRes1.setGeometry(QRect(520, 10, 51, 24)) @@ -157,15 +115,53 @@ class Ui_MainWindow(object): self.label_9 = QLabel(self.centralwidget) self.label_9.setObjectName(u"label_9") self.label_9.setGeometry(QRect(150, 0, 291, 31)) - font5 = QFont() - font5.setFamilies([u"\u6977\u4f53"]) - font5.setPointSize(12) - font5.setBold(False) - font5.setItalic(False) - self.label_9.setFont(font5) + font4 = QFont() + font4.setFamilies([u"\u6977\u4f53"]) + font4.setPointSize(12) + font4.setBold(False) + font4.setItalic(False) + self.label_9.setFont(font4) self.label_9.setStyleSheet(u"color:white;") self.label_9.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_9.setMargin(6) + self.groupBox_6 = QGroupBox(self.centralwidget) + self.groupBox_6.setObjectName(u"groupBox_6") + self.groupBox_6.setGeometry(QRect(210, 280, 371, 361)) + self.groupBox_6.setFont(font) + self.vLog = QListView(self.groupBox_6) + self.vLog.setObjectName(u"vLog") + self.vLog.setGeometry(QRect(10, 20, 351, 321)) + self.vLog.setFont(font3) + self.vLog.setStyleSheet(u"") + self.groupBox_2 = QGroupBox(self.centralwidget) + self.groupBox_2.setObjectName(u"groupBox_2") + self.groupBox_2.setGeometry(QRect(10, 490, 191, 151)) + self.groupBox_2.setFont(font) + self.bWebSite = QPushButton(self.groupBox_2) + self.bWebSite.setObjectName(u"bWebSite") + self.bWebSite.setGeometry(QRect(20, 30, 151, 24)) + self.bWebSite.setStyleSheet(u"background-color:#409EFF; color: white; border-radius: 2px") + self.label_2 = QLabel(self.groupBox_2) + self.label_2.setObjectName(u"label_2") + self.label_2.setGeometry(QRect(20, 60, 151, 16)) + self.label_2.setFont(font1) + self.label_2.setStyleSheet(u"color: red;") + self.label_6 = QLabel(self.groupBox_2) + self.label_6.setObjectName(u"label_6") + self.label_6.setGeometry(QRect(20, 80, 41, 21)) + self.label_3 = QLabel(self.groupBox_2) + self.label_3.setObjectName(u"label_3") + self.label_3.setGeometry(QRect(100, 80, 121, 21)) + self.lSize = QLineEdit(self.groupBox_2) + self.lSize.setObjectName(u"lSize") + self.lSize.setGeometry(QRect(50, 80, 41, 20)) + self.bStart = QPushButton(self.groupBox_2) + self.bStart.setObjectName(u"bStart") + self.bStart.setGeometry(QRect(20, 110, 151, 24)) + font5 = QFont() + font5.setPointSize(12) + self.bStart.setFont(font5) + self.bStart.setStyleSheet(u"background-color:#409EFF; color: white; border-radius: 2px") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setObjectName(u"menubar") @@ -186,17 +182,9 @@ class Ui_MainWindow(object): self.groupBox.setTitle(QCoreApplication.translate("MainWindow", u"1.\u5fae\u4fe1\u516c\u4f17\u53f7\u4fe1\u606f\u6293\u53d6", None)) self.bWechat.setText(QCoreApplication.translate("MainWindow", u"\u6253\u5f00\u5de5\u5177", None)) self.label_5.setText(QCoreApplication.translate("MainWindow", u"\u8bf7\u786e\u4fdd\u6240\u6709\u516c\u4f17\u53f7\u6293\u53d6\u5b8c\u6bd5", None)) - self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow", u"2.\u786e\u8ba4\u9700\u8981\u6293\u53d6\u7684\u7f51\u7ad9", None)) - self.bWebSite.setText(QCoreApplication.translate("MainWindow", u"\u6253\u5f00\u7f51\u7ad9\u5217\u8868Excel", None)) - self.label_2.setText(QCoreApplication.translate("MainWindow", u"\u8bf7\u5728\u4fee\u6539\u540e\u4fdd\u5b58\u5e76\u5173\u95ed", None)) self.groupBox_3.setTitle(QCoreApplication.translate("MainWindow", u"2.\u786e\u8ba4\u5206\u6790\u5bf9\u6bd4\u5e93", None)) self.bBiao.setText(QCoreApplication.translate("MainWindow", u"\u6253\u5f00\u5206\u6790\u6807\u51c6Excel", None)) self.label_4.setText(QCoreApplication.translate("MainWindow", u"\u8bf7\u5728\u4fee\u6539\u540e\u4fdd\u5b58\u5e76\u5173\u95ed", None)) - self.groupBox_4.setTitle(QCoreApplication.translate("MainWindow", u"4.\u5f00\u59cb\u6267\u884c\u5de1\u67e5", None)) - self.bStart.setText(QCoreApplication.translate("MainWindow", u"\u5f00\u59cb\u5de1\u67e5", None)) - self.label_6.setText(QCoreApplication.translate("MainWindow", u"\u52a1\u5fc5\u786e\u8ba4\u524d3\u6b65\u5df2\u7ecf\u5b8c\u6210!", None)) - self.lSize.setText(QCoreApplication.translate("MainWindow", u"30", None)) - self.label_3.setText(QCoreApplication.translate("MainWindow", u"KB", None)) self.groupBox_5.setTitle(QCoreApplication.translate("MainWindow", u"\u6700\u7ec8\u7ed3\u679c", None)) self.label_7.setText(QCoreApplication.translate("MainWindow", u"\u5206\u6790\u7ed3\u679cExcel:", None)) self.label_8.setText(QCoreApplication.translate("MainWindow", u"\u5206\u6790\u62a5\u544aWord:", None)) @@ -205,5 +193,13 @@ class Ui_MainWindow(object): self.bRes1.setText(QCoreApplication.translate("MainWindow", u"\u6253\u5f00", None)) self.bRes2.setText(QCoreApplication.translate("MainWindow", u"\u6253\u5f00", None)) self.label_9.setText(QCoreApplication.translate("MainWindow", u"\u4e2d\u56fd\u5efa\u6750\u603b\u9662\u5ba3\u4f20\u5de5\u4f5c\u4fe1\u606f\u5316\u7ba1\u7406\u5e73\u53f0", None)) + self.groupBox_6.setTitle(QCoreApplication.translate("MainWindow", u"\u65e5\u5fd7\u663e\u793a", None)) + self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow", u"2.\u786e\u8ba4\u9700\u8981\u6293\u53d6\u7684\u7f51\u7ad9", None)) + self.bWebSite.setText(QCoreApplication.translate("MainWindow", u"\u6253\u5f00\u7f51\u7ad9\u5217\u8868Excel", None)) + self.label_2.setText(QCoreApplication.translate("MainWindow", u"\u8bf7\u5728\u4fee\u6539\u540e\u4fdd\u5b58\u5e76\u5173\u95ed", None)) + self.label_6.setText(QCoreApplication.translate("MainWindow", u"\u5c0f\u4e8e", None)) + self.label_3.setText(QCoreApplication.translate("MainWindow", u"KB-Chrome", None)) + self.lSize.setText(QCoreApplication.translate("MainWindow", u"20", None)) + self.bStart.setText(QCoreApplication.translate("MainWindow", u"\u5f00\u59cb\u5de1\u67e5", None)) # retranslateUi diff --git a/web3.py b/web3.py index d36289b..beeebf8 100644 --- a/web3.py +++ b/web3.py @@ -26,6 +26,12 @@ def sigint_handler(signal, frame): print('子进程已关闭,程序退出。') sys.exit(0) +def fix_url_scheme(url, default_scheme='http'): + # 检查URL是否包含方案 + if not url.startswith('http://') and not url.startswith('https://'): + # 如果没有方案,添加默认方案 + url = f'{default_scheme}://{url}' + return url if __name__ == '__main__': print('巡查任务开始。。。') now = datetime.datetime.now() @@ -46,15 +52,17 @@ if __name__ == '__main__': ind = 0 for ind, row in df.iterrows(): - group = row['单位'] - name = row['主办'] - url = row['地址'] - domain = urlparse(url).netloc.replace('www.', '') - # output = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') - cmd = [python_exe, '-m', 'scrapy', 'crawl', 'basespider', '-a', f'domain={domain}', '-a', f'start_url={url}', '-a', f'name={name}', '-a', f'group={group}', '-o', f'web_dir/{name}_{domain}.xlsx'] - # cmd = ['scrapy', 'crawl', 'basespider', '-a', f'domain={domain}', '-a', f'start_url={url}', '-a', f'name={name}', '-a', f'group={group}', '-a', f'output={output}'] - process = subprocess.Popen(cmd) - processes.append(process) + group = row['单位'] + name = row['主办'] + url = fix_url_scheme(row['地址'].strip()) + domain = urlparse(url).netloc.replace('www.', '') + if domain in ['xdjstc.com', 'epcyiqizu.com', 'cbra.ctc.ac.cn']: # 这几个网站直接跳过 + continue + output = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') + # cmd = [python_exe, '-m', 'scrapy', 'crawl', 'basespider', '-a', f'domain={domain}', '-a', f'start_url={url}', '-a', f'name={name}', '-a', f'group={group}', '-o', f'web_dir/{name}_{domain}.xlsx'] + cmd = [python_exe, '-m', 'scrapy', 'crawl', 'basespider', '-a', f'domain={domain}', '-a', f'start_url={url}', '-a', f'name={name}', '-a', f'group={group}', '-a', f'output={output}'] + process = subprocess.Popen(cmd) + processes.append(process) # Wait for all processes to finish for process in processes: @@ -71,7 +79,8 @@ if __name__ == '__main__': output_filename = os.path.join(BASE_DIR, f'web_dir/{name}_{domain}.xlsx') if os.path.exists(output_filename): file_size = os.path.getsize(output_filename) - if file_size < 30 * 1024: # Convert KB to bytes + print(file_size/1024) + if file_size < 20 * 1024: # Convert KB to bytes info_to_save.append([group, name, url]) if info_to_save: diff --git a/zcspider/pipelines.py b/zcspider/pipelines.py index fad39b9..31db3fa 100644 --- a/zcspider/pipelines.py +++ b/zcspider/pipelines.py @@ -60,7 +60,6 @@ class ZcspiderPipeline: # raise line = [item['group'], item['name'], item['domain'], item['url'], item['text']] self.ws.append(line) - self.wb.save(self.file_name) return item # 结束,关闭连接 @@ -69,4 +68,5 @@ class ZcspiderPipeline: # self.cur.close() # # 关闭连接 # self.conn.close() + self.wb.save(self.file_name) self.wb.close() \ No newline at end of file diff --git a/zcspider/settings.py b/zcspider/settings.py index c8ce2cf..6e4f619 100644 --- a/zcspider/settings.py +++ b/zcspider/settings.py @@ -96,13 +96,13 @@ DEFAULT_REQUEST_HEADERS = { REQUEST_FINGERPRINTER_IMPLEMENTATION = "2.7" TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor" FEED_EXPORT_ENCODING = 'gb18030' -LOG_LEVEL = 'ERROR' +LOG_LEVEL = 'WARNING' DOWNLOAD_TIMEOUT = 10 ITEM_PIPELINES = { - # 'zcspider.pipelines.ZcspiderPipeline': 300, + 'zcspider.pipelines.ZcspiderPipeline': 300, } FEED_EXPORTERS = { - 'xlsx': 'scrapy_xlsx.XlsxItemExporter', + # 'xlsx': 'scrapy_xlsx.XlsxItemExporter', } \ No newline at end of file diff --git a/zcspider/spiders/base.py b/zcspider/spiders/base.py index c19e9bd..18bd884 100644 --- a/zcspider/spiders/base.py +++ b/zcspider/spiders/base.py @@ -82,40 +82,43 @@ class BaseSpider(scrapy.Spider): yield scrapy.Request(full_link, callback=self.parse, headers=self.headers, errback=self.request2, meta={'download_timeout': 30}) def parse(self, response): - self.visited_urls.add(response.url) - if self.is_file_res(response): - return - h = html2text.HTML2Text() - h.ignore_links = True # 忽略所有链接 - # 提取纯文本内容 - # try: - text = h.handle(response.text) - # except: - # text = h.handle(response.body.decode(encoding='gb18030')) - if response.status < 400: - yield { - 'group': self.group, - 'name': self.name, - 'domain': self.domain, - 'url': response.url, - 'text': text, - } + try: + if response.status >= 500: + return + self.visited_urls.add(response.url) + if self.is_file_res(response): + return + h = html2text.HTML2Text() + h.ignore_links = True # 忽略所有链接 + # 提取纯文本内容 + # try: + text = h.handle(response.text) + # except: + # text = h.handle(response.body.decode(encoding='gb18030')) + if response.status < 400: + yield { + 'group': self.group, + 'name': self.name, + 'domain': self.domain, + 'url': response.url, + 'text': text, + } + links = re.findall(r'href=["\']?([^"\'>]+)', response.text) + for link in links: + full_link = response.urljoin(link) + if not full_link.startswith('http'): + continue + if full_link not in self.visited_urls and (self.is_file_url(full_link) is False): + if urlparse(full_link).netloc.replace('www.', '') == self.domain: + # try: + yield scrapy.Request(full_link, callback=self.parse, headers=self.headers, errback=self.request2, meta={'download_timeout': 30}) + # except ValueError: + # import traceback + # print(traceback.format_exc()) + # print(full_link) + except scrapy.exceptions.TimeoutError: + print(f'{response.url}-请求超时取消') - links = re.findall(r'href=["\']?([^"\'>]+)', text) - - for link in links: - full_link = response.urljoin(link) - if not full_link.startswith('http'): - continue - if full_link not in self.visited_urls and (self.is_file_url(full_link) is False): - if urlparse(full_link).netloc.replace('www.', '') == self.domain: - # try: - yield scrapy.Request(full_link, callback=self.parse, headers=self.headers, errback=self.request2, meta={'download_timeout': 30}) - # except ValueError: - # import traceback - # print(traceback.format_exc()) - # print(full_link) - def closed(self, reason): # This method will be called when the Spider is about to close print(f'爬取完成: {self.name}_{self.domain}') \ No newline at end of file diff --git a/网络巡查.bat b/网络巡查.bat index 4222027..9dad4d0 100644 --- a/网络巡查.bat +++ b/网络巡查.bat @@ -1,44 +1,14 @@ -::[Bat To Exe Converter] -:: -::YAwzoRdxOk+EWAjk -::fBw5plQjdCuDJE6L5kkgJBpXSTiYP3iqD7EZ+tTo++uVtgMUV+1f -::YAwzuBVtJxjWCl3EqQJgSA== -::ZR4luwNxJguZRRnk -::Yhs/ulQjdF+5 -::cxAkpRVqdFKZSzk= -::cBs/ulQjdF+5 -::ZR41oxFsdFKZSDk= -::eBoioBt6dFKZSDk= -::cRo6pxp7LAbNWATEpCI= -::egkzugNsPRvcWATEpCI= -::dAsiuh18IRvcCxnZtBJQ -::cRYluBh/LU+EWAnk -::YxY4rhs+aU+JeA== -::cxY6rQJ7JhzQF1fEqQJQ -::ZQ05rAF9IBncCkqN+0xwdVs0 -::ZQ05rAF9IAHYFVzEqQJQ -::eg0/rx1wNQPfEVWB+kM9LVsJDGQ= -::fBEirQZwNQPfEVWB+kM9LVsJDGQ= -::cRolqwZ3JBvQF1fEqQJQ -::dhA7uBVwLU+EWDk= -::YQ03rBFzNR3SWATElA== -::dhAmsQZ3MwfNWATElA== -::ZQ0/vhVqMQ3MEVWAtB9wSA== -::Zg8zqx1/OA3MEVWAtB9wSA== -::dhA7pRFwIByZRRnk -::Zh4grVQjdCuDJE6L5kkgJBpXSTiYP3iqD7EZ+tTo++uVtgMYTOdf -::YB416Ek+ZG8= -:: -:: -::978f952a14a936cc963da21a135fa983 @echo off +if "%1" == "h" goto begin +mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit +:begin setlocal -REM 设置 Python 可执行文件路? + set PYTHON_EXECUTABLE=.\runtime\python.exe -REM 设置要运行的 Python 脚本 + set PYTHON_SCRIPT=start.py -REM 运行 Python 脚本 + %PYTHON_EXECUTABLE% %PYTHON_SCRIPT% diff --git a/网络巡查.exe b/网络巡查.exe deleted file mode 100644 index f8f4e940d003175d118ad72ce24ea325fec7b60f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128000 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