使用Selenium实现动态内容采集
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、先在pycharm下载安装Seleni
或者在终端 pip install selenium
二、安装插件
1.谷歌为例展示步骤
chromedriver 与 chrome 浏览器对应的版本 官网网址:http://npm.taobao.org/mirrors/chromedriver/ 1.要找和浏览器版本一致的插件 下载之后解压放在解析器的同级目录下
三、Selenium基本用法
from selenium import webdriver
driver=webdriver.Chrome()
url='https://dangshi.cnki.net/#/index'
driver.get(url)
html=driver.page_source
print(html)
driver.close()
1.Selenium的三种等待方式
强制等待
import time
time.sleep(3)
隐形等待
driver.implicitly_wait(30)
显性等待
from selenium import webdriver
import os,sys,io
from lxml import etree
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver=webdriver.Chrome()
driver.get("https://xueshu.baidu.com")
try:
WebDriverWait(driver,30).until(EC.presence_of_all_elements_located)
html=driver.page_source
html=etree.HTML(html)
texts=html.xpath('//div[@class="index_new_paper_rank_content"]//text()')
print(texts)
except Exception:
print("网页加载太慢,不想等了!!!")
|