1、环境
pycharm+selenium+pyquery+openpyxl+tkinter+tkinter.filedialog
2、功能说明
- 通过openpyxl读取关键词,爬取亚马逊指定关键词商品 的信息,并将获取到的信息通过openpyxl写入到excel中
- 用户可自己选择文件打开和存储的路径
- 用户可选择增加或删减查找的信息
- 用户可选择配送地址
3、新增文件对话框模块
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
root = tk.Tk()# 创建一个Tkinter.Tk()实例
root.withdraw()# 将Tkinter.Tk()实例隐藏
# 参数相关:
# defaultextension: 默认文件的扩展名,该后缀会自动添加
# filetypes: 指定筛选文件类型的下拉菜单,如filetypes=[(‘xlsx’,‘xlsx’)]
# initialdir: 对话框中默认的路径(默认路径是当前文件夹)
# initialfile: 对话框中初始化显示的文件名
# parent: 父对话框(由哪个窗口弹出就在哪个上端)
# title: 弹出对话框的标题
# 选择文件后,会返回显示文件的完整路径,取消的话,会返回空字符串
file_path = filedialog.askopenfilename(initialdir='C:/Users/45906/Desktop',
title='选择关键词存在文件',
filetypes=[('Excel', '.xls .xlsx')])
print("askopenfilename = ", file_path)
save_file = filedialog.asksaveasfilename(title='请选择生成文件存储路径',
initialdir='C:/Users/45906/Desktop',
filetypes=[('Excel', '.xls .xlsx')],
defaultextension='.xlsx')
print("asksaveasfilename = ", save_file)
#提示框
messagebox.showinfo("提示","我是一个提示框")
#警告框
messagebox.showwarning('警告','我是一个警告框')
#错误框
messagebox.showerror('错误','我是一个错误框')
#对话框,返回True/Fasle
messagebox.askokcancel('提示', '我是一个对话框吗')
#问题框,返回Yes/No
messagebox.askquestion('提示', '我是一个问题框吗')
4、完整代码
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.by import By
from pyquery import PyQuery as Pq
import openpyxl
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
def change_address(value):
count = 0
while True:
count += 1
if count > 3:
ok = messagebox.askokcancel('提示', '超时, 是否退出???')
if ok:
exit()
try:
driver.find_element_by_id('glow-ingress-line1').click()
time.sleep(2)
except Exception as e:
print("get glow-ingress-line1 id fail!!!,retry")
driver.refresh()
time.sleep(5)
continue
try: