上次爬百度图片的时候本来是不想去详情页进行爬取的,而是想通过模拟下拉的方式进行爬取,但是一直没有成功。因为我的思路是下拉一点,爬取一点,这样很难把控。今天突然想到,可以一下全部下拉,等下拉到最下面的时候,开始进行爬取。
具体代码如下,使用了运行js文件的方法完成下拉的操作。一开实验了一下,按照我设定的下拉的幅度,大概五十多次可以拉到底。等拉到底部,下面哪一行小字出现的时候,开始读取源码,进行爬取。
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from urllib import request
from lxml import etree
driver = webdriver.Chrome()
url = "https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st