一、Python+Selenium安装及环境配置
-
Python环境安装
Window系统下,python的安装很简单。访问python.org/download,下载最新版本,安装过程与其他windows软件类似。记得下载后设置path环境变量,然后Windows命令行就可以调用了:
-
Selenium安装
Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),使用pip安装selenium: pip install selenium
后面可以加等号指定selenium的版本:如:pip install selenium==2.53.0
-
安装浏览器驱动
Chrome驱动:http://npm.taobao.org/mirrors/chromedriver
Firefox驱动: [https://github.com/mozilla/geckodriver/releases]
下载与使用浏览器相匹配的驱动版本,我这里是将浏览器驱动放置在了对应项目的启动目录下
二、案例运行
案例简介:
使用Selenium爬取淘宝商品图片
#1.安装selenium安装Chrome的驱动
#2.引入selenium中的Chrome
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import time
import requests
#3.创建浏览器
browser =Chrome()
#4.让浏览器打开淘宝
browser.get("http://www.taobao.com")
#5.找到页面中的文本框,输入男装.回车
browser.find_element_by_xpath('//*[@id="q"]').send_keys("男装",Keys.ENTER)
#6.让程序等待,用户手动扫码登录淘宝
while browser.current_url.startswith("https://login.taobao.com"):
print("等待用户扫码进行下一步操作")
time.sleep(1)
n=1
while 1:
#7.找到页面中的所有item
items = browser.find_element_by_class_name("m-itemlist").find_element_by_class_name("item")
for item in items:
src_path = item.find_element_by_class_name("pic-box").find_element_by_class_name("img").get_attribute("data-src")
src_path = "http:"+src_path
#下载这张图片,保存在文件中
open("f{n}.jpg", mode="wb").write(requests.get(src_path).content)
n+=1
browser.find_element_by_class_name("m-page").find_element_by_class_name("next").click()
time.sleep(2)
print("下一页")