【发布时间】:2018-06-10 23:17:51
【问题描述】:
我在 python 中结合 selenium 编写了一些代码来解析网页中的不同产品名称。如果使浏览器向下滚动,则几乎没有可见的加载更多按钮。如果页面滚动到最下方直到没有加载更多按钮可单击,则网页将显示其全部内容。我的刮刀似乎做得很好,但我没有得到所有的结果。该页面中有大约 200 种产品,但我从中得到了 90 种。我应该在我的刮刀中带来什么改变来获得它们?提前致谢。
我正在处理的网页:Page_Link
这是我正在尝试的脚本:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.get("put_above_url_here")
wait = WebDriverWait(driver, 10)
page = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,".listing_item")))
for scroll in range(17):
page.send_keys(Keys.PAGE_DOWN)
time.sleep(2)
try:
load = driver.find_element_by_css_selector(".lm-btm")
load.click()
except Exception:
pass
for item in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "[id^=item_]"))):
name = item.find_element_by_css_selector(".pro-name.el2").text
print(name)
driver.quit()
【问题讨论】:
标签: python python-3.x selenium selenium-webdriver web-scraping