Selenium |【案例篇】selenium爬取淘宝图片

一、Python+Selenium安装及环境配置
  • Python环境安装

Window系统下,python的安装很简单。访问python.org/download,下载最新版本,安装过程与其他windows软件类似。记得下载后设置path环境变量,然后Windows命令行就可以调用了:

python环境图示.png
  • Selenium安装

Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),使用pip安装selenium: pip install selenium
后面可以加等号指定selenium的版本:如:pip install selenium==2.53.0

Selenium环境图示.png
  • 安装浏览器驱动

Chrome驱动:http://npm.taobao.org/mirrors/chromedriver
Firefox驱动: [https://github.com/mozilla/geckodriver/releases]
下载与使用浏览器相匹配的驱动版本,我这里是将浏览器驱动放置在了对应项目的启动目录下

image.png
二、案例运行

案例简介:
使用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("下一页")


你可能感兴趣的:(Selenium |【案例篇】selenium爬取淘宝图片)