网址: http://book.douban.com/subject_search?search_text=python&cat=1001&start=%s0
需求: 获取所有 python 书籍的信息
首页
进入页面按f12,查询页面信息
在页面当中未查取到数据,因此需要创建selenium.webdriver对象,去解析页面的源代码。
最后通过xpath语法去筛选标签获取所需要的数据。
代码实现:
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait # 等待对象
from selenium.webdriver.support import expected_conditions as EC # 条件
from selenium.webdriver.common.by import By # 定义定位器的常量
from lxml import etree
import time
def get_content_by_selenium(url):
'''
通过selenium获取页面内容
'''
# 2、请求
driver.get(url)
# 3、等待:让程序在这里停一会,关注:停到啥时候
# 意义:就是为了让浏览器能够请求结束,(不在转圈圈),同时让page_sourse里面包含需求数据。
# 有三种等待方式:效率是步一样的。
# 第一种等待方式:强制等待
# time.sleep(4)#缺点:操作简单,但是效率很低。
# 第二种等待方式:隐式等待。
# driver.implicitly_wait(20)#20:表示最大等待时长,20秒还没有等到圈圈转完,就报 一个超时异常。