Teilen Sie einige häufig verwendete Ideen in der Büroautomation

Anforderungen an die Erfassung von Webseitendaten ①

Allgemeine Idee: Python+Selenium+Xpath

Wenn wir Python für die Büroautomatisierung verwenden und Daten von Webseiten abrufen, sollten wir eigentlich an Crawler-Technologie denken. Allerdings werden manchmal viele Webseitendaten verschlüsselt, insbesondere die Daten unseres Unternehmens. Wenn Sie also Crawler zum Abrufen von Daten verwenden möchten Diesmal ist dies eine gute Idee, aber die Daten können nicht verschlüsselt werden. Zu diesem Zeitpunkt werden wir einen anderen Weg finden, die Daten direkt von der geladenen Webseite abzurufen und das Element direkt über Xpath zu lokalisieren. Die allgemeine Logik lautet wie folgt:

①Verwenden Sie den folgenden Code, um einen Google Chrome-Prozess mit einer angegebenen Portnummer zu starten (Python3.8 oder höher):

chrome_options = Options()
chrome_options.add_experimental_option('debuggerAddress', '127.0.0.1:9222')
chrome_driver = './chromedriver.exe'
service = Service(chrome_driver)
driver = webdriver.Chrome(service=service, options=chrome_options)

Verwenden Sie den folgenden Code, um einen Google Chrome-Prozess mit einer angegebenen Portnummer zu starten (Python 3.8 oder niedriger): < a i =3>Hinweis:C:\Program Files (x86)\Google\Chrome\Application, diese Zeile bezieht sich auf den Google Chrome-Browser auf Ihrem Computer . Der Speicherort des AusführungsprogrammsBitte ändern Sie ihn flexibel je nach Computer

 cd C:\Program Files (x86)\Google\Chrome\Application & chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenum\AutomationProfile"

②Der nächste Schritt besteht darin, mit Xpath das angegebene Element zu lokalisieren und Vorgänge wie Klicken, Texterfassung usw. auszuführen.

Referenzfall:Klicken Sie hier, um den Fall einzugeben


Anforderungen an die Erfassung von Webseitendaten ②

Allgemeine Idee: Anfragen-Crawler

Wenn die Daten keine Verschlüsselungsparameter haben, können wir direkt einen Crawler verwenden, um die Daten abzurufen. Ich habe auch die Vorlage für Sie geschrieben. Sie müssen nur Ihre URL und die darin enthaltenen Parameter ändern.

import json
import time
import requests

url = '网址'
params = {
    
    
  "参数键": '值',
  "参数键": '值',
  "参数键": '值',
}
headers = {
    
    
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
}

res_data = requests.get(url=url,params=params,headers=headers)
res_data.encoding= "utf-8"
data  = res_data.text
'''
对获取的数据进行进一步分析
'''

Referenzfall 1:Klicken Sie hier, um Fall 1 einzugeben

Referenzfall 2:Klicken Sie hier, um Fall 2 einzugeben

Referenzfall 3:Klicken Sie hier, um Fall 3 aufzurufen


Anforderungen stapelweise generieren

①Dateien verschieben und umbenennen

Meine am häufigsten verwendeten Betriebssystemmodule

Referenzfall 1 (Dateien in mehrere Ordner verschieben):Klicken Sie hier, um Fall 1 einzugeben

Referenzfall 2 (Dateien innerhalb eines einzelnen Ordners verschieben):Klicken Sie hier, um Fall 2 aufzurufen

Referenzfall 3 (Bildsuffixe stapelweise ändern):Klicken Sie hier, um Fall 3 einzugeben

②Batch-Generierung von Word und Excel

Meine am häufigsten verwendeten Module sind python-docx, openpyxl, die folgenden sind zwei sehr typische Beispiele:

Referenzfall 1 (Inhalt der Word-Datei in eine Excel-Datei schreiben):Klicken Sie hier, um Fall 1 einzugeben

Referenzfall 2 (den Inhalt der Excel-Datei in eine Word-Datei schreiben):Klicken Sie auf mich, um Fall 2 einzugeben


Passen Sie die Bedürfnisse an

Es gibt tatsächlich zwei Logiken zum Abgleichen von Anforderungen, die die Abgleichsanforderungen zwischen Excel-Tabellen abdecken können: eins-zu-viele, viele-zu-eins und viele-zu-viele. Wir gehen davon aus, ob es eins ist -zu-viele oder viele-zu-eins, viele-zu-viele, Wir nennen zusammenfassend A-Daten, die mit B-Daten übereinstimmen

① B-Daten in eine JSON-Datei umwandeln

②Laden Sie JSON-Daten in ein Wörterbuch und lesen Sie Daten A zum Abgleich

Typischer Fall 1 (gegenseitiger Abgleich zwischen mehreren Tabellen): Klicken Sie hier, um Fall 2 einzugeben

Der zweite Code in diesem Fall kann in den folgenden Code geändert werden, sodass keine Notwendigkeit besteht, den JSON zusammenzuführen, da der zusammengeführte Code gelesen wird

import csv
import os
from collections import defaultdict
def write_json():
    list_a = []  # 列表用来存放 (A列,B列) 的元组,所有的数据
    d = defaultdict(list)  # 创建字典
    for f in os.listdir("./csv版/"):
        with open("./csv版/" + f, newline='', encoding='utf-8') as csvfile:
            # 读取 CSV 文件内容
            reader = csv.reader(csvfile, delimiter=',', quotechar='"')
            # 遍历 CSV 文件中的每一行数据
            print(f, "加载完毕")
            for d in reader:
                # 处理每一行数据
                # print(d)
                list_a.append((d[0], d[0]))  # 这个就不翻译了吧,添加数据
            
    for key, value in list_a:
        d[key].append(value)  # 省去了if判断语句,添加字典
    with open(f"./json文件/data.json", "w", encoding="utf-8") as f2:
        f2.write(json.dumps(d, ensure_ascii=False))  # 写入json,防止乱码


write_json()

Was ich heute teile, sind grob die Lösungen für einige der häufigsten Bedürfnisse, denen ich bei meiner täglichen Büroarbeit gegenüberstehe.

Ich hoffe, es hilft dir

Ich hoffe, dass es jedem gefällt, es sammelt und unterstützt

Abschließend wünsche ich allen ein frohes 1024

Guess you like

Origin blog.csdn.net/weixin_42636075/article/details/134022094