用selenuim抓取“美食”网页信息
一、下载安装selenuim、PhantomJS(Chrome),并配置好环境。
二、利用selenium打开浏览器,设计爬取过程。
from selenium import webdriver
browser = webdriver.Chrome()
运行上述程序,程序会自动调用chrome浏览器。
- 打开淘宝首页,在搜索框中输入“美食“,并且点击”搜索“按钮。
- 参考selenium python官方文档: http://selenium-python.readthedocs.io/waits.html,利用selenium模仿输入、点击等操作。首先,添加以下import信息。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
- 输入框和点击按钮的获取方法如下:
browser.get('https://www.taobao.com')
wait=WebDriverWait(browser, 10)
input = wait.until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#q"))
)
submit=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#J_TSearchForm > div.search-button > button"))
- 查看官方文档,找到利用selenium向输入框输入文字及点击按钮的方法
input.send_keys("美食")
submit.click()
- 何时页面算加载完成?观察到页面最下方有一个页码栏,找到该搜索一共包含多少页。若出现了总共的页数,则视为页面加载完成。