我有一个webscraper,它可以从一个网站获取产品(https://www.jdsports.co.uk/c/clothing/)我把它打印到控制台中,现在所有产品都在第一页上,然后我想在tkinter窗口中显示它,我的输出在左边有一个滚动条和一个可滚动的奇怪大小的滚动框,以及如何去掉括号和逗号的列表/数组:) 这是密码
#imports
from selenium import webdriver
import tkinter
import csv
#Window Calls
home = tkinter.Tk()
home.title("Home")
home.geometry('500x500')
urlselec=''
def shopClothing():
urlselec="https://www.jdsports.co.uk/c/clothing/?max=72"
url = urlselec
return url, scrapeOrAuto(url)
def shopFootWare():
urlselec='https://www.jdsports.co.uk/c/footwear/?max=72'
url = urlselec
return url, scrapeOrAuto(url)
def shopAccessories():
urlselec='https://www.jdsports.co.uk/c/accessories/'
url = urlselec
return url, scrapeOrAuto(url)
def scrapeOrAuto(url):
home.withdraw()
secndmenu = tkinter.Tk()
secndmenu.title('Choose')
secndmenu.geometry('300x300')
url = url
scrapeBtn = tkinter.Button(secndmenu, text='scrape', command=lambda url=url:scrape(url,secndmenu))
scrapeBtn.pack()
secndmenu.mainloop()
def scrape(url,secndmenu):
secndmenu.withdraw()
#Arrays
productArray = []
priceArray = []
a=-1
array =[]
#Indexs
pricestate = 0
productstate = 0
#Window Calls
scraperAlert = tkinter.Tk()
scraperAlert.title('Alert!')
scraperAlert.geometry('300x200')
#window Lables
tkinter.Label(scraperAlert,text='Scraping!').pack()
#Browser Commands
browser = webdriver.Chrome()
browser.get(url)
#Element Finder
products = browser.find_elements_by_class_name("itemTitle")
price = browser.find_elements_by_class_name("itemPrice")
# soruce = browser.page_source
for product in products:
productstate = productstate +1
# print(productstate,product.text)
productArray.insert(productstate,[product.text])
for price in price:
pricestate = pricestate +1
# print(pricestate,price.text)
priceArray.insert(pricestate,[price.text])
for count in range(len(productArray)):
print(productArray[count],priceArray[count])
array.insert(count,(productArray[count],priceArray[count]))
browser.close()
scroll_bar = tkinter.Scrollbar(scraperAlert)
text_widget = tkinter.Text(scraperAlert)
scroll_bar.pack(side=tkinter.LEFT)
text_widget.pack(side=tkinter.LEFT)
#Buttons
clothing = tkinter.Button(anchor='center',text="Clothing", command =shopClothing)
footware = tkinter.Button(anchor='center',text='Footware', command=shopFootWare)
accessories = tkinter.Button(text='Accessories', command=shopAccessories)
#WindowCompile
clothing.pack()
footware.pack()
accessories.pack()
home.mainloop()
目前没有回答
相关问题 更多 >
编程相关推荐