爬取百度图片小姐姐链接

如 果 用 静 态 网 页 去 获 取 网 页 源 代 码 会 发 现 图 片 不 在 里 面 如果用静态网页去获取网页源代码会发现图片不在里面 如果用静态网页去获取网页源代码会发现图片不在里面

这是一个由JS加载图片的动态网页

没 关 系 , 我 们 可 以 使 用 s e l e n i u m 动 态 模 拟 浏 览 器 行 为 , 去 爬 取 所 有 图 片 没关系,我们可以使用selenium动态模拟浏览器行为,去爬取所有图片 没关系,我们可以使用selenium动态模拟浏览器行为,去爬取所有图片

由 于 笔 者 也 是 刚 入 门 的 s e l e n i u m , 所 以 新 手 大 可 放 心 \color{Red}由于笔者也是刚入门的selenium,所以新手大可放心 由于笔者也是刚入门的selenium,所以新手大可放心

看 不 懂 函 数 就 去 百 度 , 都 是 一 些 很 基 础 的 函 数 , 易 学 看不懂函数就去百度,都是一些很基础的函数,易学 看不懂函数就去百度,都是一些很基础的函数,易学

注 释 都 在 代 码 里 了 , 短 短 30 行 , 很 轻 松 注释都在代码里了,短短30行,很轻松 注释都在代码里了,短短30行,很轻松

import requests
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time

url = "https://image.baidu.com/"
#name =input()
name='小姐姐'

b = webdriver.Chrome('D://迅雷下载//chromedriver.exe')  #打开谷歌,注意括号内是填写你的驱动路径
b.get(url)  #进入百度图片
search_box = b.find_element_by_id('kw') #找到id=kw的输入框
search_box.send_keys(name)  #输入名字
search_box.send_keys(Keys.ENTER)    #确定搜索

def get_src():
    size_all = b.find_element_by_xpath('//*[@id="sizeFilter"]/div/div') #选择尺寸
    ActionChains(b).move_to_element(size_all).perform() #鼠标悬浮在尺寸上面
    most_big = b.find_element_by_xpath('//*[@id="sizeFilter"]/div/ul/li[2]')    #找到特大尺寸
    most_big.click()    #点击特大尺寸
    time.sleep(2)   #注意一定是睡觉!!不然加载不出来
    first_img = b.find_element_by_xpath('//*[@id="imgid"]/div/ul/li[1]/div/a/img')  #找到第一张图片
    first_img.click()   #点击第一张图片

def com():
    b.switch_to.window(b.window_handles[1]) #换到另一张网页去
    for i in range(0,30):   #爬30张
        img_src = b.find_element_by_xpath('//*[@id="currentImg"]')  #找到每张图片
        print(img_src.get_attribute('src')) #打印所有的src
        next = b.find_element_by_xpath('//*[@id="container"]/span[2]/span') #找到向后的按 钮
        next.click()

get_src()
com()

在 原 版 上 加 上 插 入 图 片 链 接 到 数 据 库 在原版上加上插入图片链接到数据库 在原版上加上插入图片链接到数据库

看源码点我