【发布时间】:2021-07-23 08:46:11
【问题描述】:
这是我的网络抓取目标网站。 https://www.aliexpress.com/wholesale?catId=0&SearchText=ipad&SortType=default&g=n&page=1
使用此代码,我可以获得 60 件商品。
import time
from selenium import webdriver
from time import sleep
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_experimental_option('excludeSwitches', ['enable-logging'])
options.add_argument('--lang=en')
driver = webdriver.Chrome(r'c:\chromedriver\chromedriver.exe', options=options)
options.add_argument(
"user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36")
url = 'https://www.aliexpress.com/wholesale?catId=0&SearchText=ipad&SortType=default&g=n&page=1'
driver.get(url)
sleep(1)
y = 1000
for timer in range(0, 13):
driver.execute_script("window.scrollTo(0, " + str(y) + ")")
y += 1000
time.sleep(1)
items = driver.find_elements_by_xpath('//div[contains(@class, "_2E_KG")]')
print(len(items))
我发现这个网页是动态的,所以我添加了这样的滚动。
for timer in range(0, 13):
driver.execute_script("window.scrollTo(0, " + str(y) + ")")
y += 1000
time.sleep(1)
它有点慢,但对我来说看起来不错。 或者你有更好的想法吗?
并使用下面的 xpath 查找来获取项目。
items = driver.find_elements_by_xpath('//div[contains(@class, "_2E_KG")]')
但我相信有一天类名(_2E_KG)会改变,我想放入一个稳定的xpath,但我不知道它会是什么。
【问题讨论】:
标签: python web-scraping xpath