Ich habe es geschrieben, um die Anforderung zu erfüllen, dass alle 55 Seiten und 24 Produktbilder pro Seite erfasst werden müssen. Selen ist sehr praktisch. Wenn Sie den Produktnamen, die Produkt-URL und das Produktbild SRC auf Textbasis kennen, ist dies vorerst in Ordnung und daher sehr präzise.
seleniumer.py
import os, re
import time
from selenium import webdriver
DRIVER_PATH = os.path.join(os.path.dirname(__file__), 'chromedriver')
browser = webdriver.Chrome(DRIVER_PATH)
url = 'https://www.XXXXXXXX'
browser.get(url)
for i in range(56):
try:
img_list = []
urls_list = []
name_list = []
for i in browser.find_elements_by_xpath('//*[@id="find-results"]/div/div/div/a[1]/img[1]'):
imgs = i.get_attribute('src')
img_list.append(imgs)
for a in browser.find_elements_by_xpath('//*[@id="find-results"]/div/div/div/a[1]'):
urls = a.get_attribute('href')
urls_list.append(urls)
for t in browser.find_elements_by_xpath('//*[@id="find-results"]/div/div/div/a/div/span[1]/span'):
name = t.text
name_list.append(name)
for img_src, urls_href, name_title in zip(img_list, urls_list, name_list):
print (name_title, urls_href, img_src, "\n+++++++++++++++++++++++++++++++++++++++++++++++++++")
link_elem = browser.find_element_by_class_name('control-page-next-button')
link_elem.click()
time.sleep(3)
except:
print ('not found!')
browser.close()
Wenn Sie den in browser.find_elements_by_xpath verwendeten xpath herausfinden möchten, können Sie ihn aus COPY in Chrome einfügen. Ich war beeindruckt, dass es eine enorm nützliche Funktion hat.
Es scheint, dass die find_elements () -Methode umgedreht werden muss.
Recommended Posts