版面设计素材,厦门网站优化公司,安阳网站建设首选,设计公司logo用什么软件目录 网页获取数据需求①大体思路#xff1a;PythonseleniumXpath 网页获取数据需求②大体思路#xff1a;requests爬虫 批量生成需求①文件的移动、重命名②word、Excel批量生成 匹配需求 网页获取数据需求①
大体思路#xff1a;PythonseleniumXpath
我们在利用Python做… 目录 网页获取数据需求①大体思路PythonseleniumXpath 网页获取数据需求②大体思路requests爬虫 批量生成需求①文件的移动、重命名②word、Excel批量生成 匹配需求 网页获取数据需求①
大体思路PythonseleniumXpath
我们在利用Python做办公自动化从网页中获取数据时其实理应想到的时爬虫技术但是有时候很多网页数据都是加密的尤其是我们公司的数据所以当你想利用爬虫进行数据获取时这是一个很好的想法但是无奈数据加密这时候我们就会另辟蹊径直接从加载出来的网页中通过Xpath直接定位元素获取数据大体逻辑如下
①利用以下代码开启一个指定端口号的谷歌浏览器进程(Python3.8以上)
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(serviceservice, optionschrome_options)
利用以下代码开启一个指定端口号的谷歌浏览器进程(Python3.8以下) 注意:C:\Program Files (x86)\Google\Chrome\Application,这一行这指的是自己电脑谷歌浏览器可执行程序的位置请按照不同的电脑进行灵活变动 cd C:\Program Files (x86)\Google\Chrome\Application chrome.exe --remote-debugging-port9222 --user-data-dirD:\selenum\AutomationProfile
②接下来就是利用Xpath定位指定元素进行如点击、文本获取等操作 参考案例点我进入案例 网页获取数据需求②
大体思路requests爬虫
如果数据没有加密参数我们直接可以利用爬虫进行获取数据模板我也给你写好了你只需要更改一下自己网址以及携带的参数即可
import json
import time
import requestsurl 网址
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(urlurl,paramsparams,headersheaders)
res_data.encoding utf-8
data res_data.text对获取的数据进行进一步分析参考案例1点我进入案例1 参考案例2点我进入案例2 参考案例3点我进入案例3 批量生成需求
①文件的移动、重命名
我常用的时os模块 参考案例1(多文件夹内文件移动)点我进入案例1 参考案例2(单个夹内文件移动)点我进入案例2 参考案例3(批量修改图片后缀)点我进入案例3
②word、Excel批量生成
我常用的模块时 python-docxopenpyxl以下时非常典型的两个例子 参考案例1(将Word文件中的内容写入Excel文件)点我进入案例1 参考案例2(将Excel文件内容写入Word文件)点我进入案例2 匹配需求
匹配需求的逻辑其实就两条这两条可以涵盖Excel表之间一对多、多对一、多对多的匹配需求我们假设不论是一对多、多对一、多对多我们统称 A 数据 匹配 B数据
① 将B数据制作成json文件
②加载json数据为字典读取数据A数据进行匹配 典型案例1(多表之间互匹)点我进入案例2
案例中的第二段代码可改为以下代码这样就无需将json合并因为读取的就是合并的
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, encodingutf-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, encodingutf-8) as f2:f2.write(json.dumps(d, ensure_asciiFalse)) # 写入json防止乱码write_json()
今天分享的大致就是我在日常办公过程中常见的一些需求的解决方案
希望对你有所帮助
希望大家点赞收藏支持一下
最后祝大家 1024 快乐