Loading

selenium使用与总结

AJAX技术:

AJAX是一种与用户访问服务器资源相关的技术,在传统技术中用户网页的更新需要基于所有数据整界面地更新,这使得网络资源浪费和访问效率下降逐渐成为不可忽视的问题。

Ajax技术的出现在一定程度上解决了这个问题,该技术基于JavaScript和XML,常用json存储数据信息,使得网页信息资源可以实现局部更新,提高了访问效率。

获取Ajax数据的方式:

1.直接调用Ajax数据的接口,通过代码请求接口

2.selenium 模拟人为点击

使用selenium + chromedriver 获取动态数据

selenium 结合浏览器驱动 可以模仿人类在浏览器中的各种操作,只要在浏览器中能够获得的数据信息,都可以通过selenium技术获取得到,但是这种抓取页面的方式在数据量较大时,效率较低。

安装selenium:

pip install selenium

conda install selenium

安装浏览器驱动:

  1. Chrome:https://sites.google.com/a/chromium.org/chromedriver/downloads
  2. Firefox:https://github.com/mozilla/geckodriver/releases
  3. Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
  4. Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10

 

在安装和使用chrome的时候要注意以下两个关键问题:

一是注意Chrome内核与Chromedriver的版本需要匹配对应

二是需要注意 chrome.exe 需要与 chromedriver.exe放在同一目录下

from selenium import webdriver
#设置浏览器驱动的内核选择对象
option = webdriver.ChromeOptions()
#浏览器驱动的内核选择
option.binary_location = r'E:\installation_After20211129\Google\Chrome\Application\chrome.exe'
#实例化浏览器
chromeDriver = webdriver.Chrome(r"E:\installation_After20211129\Google\Chrome\Application\chromedriver.exe")

chromeDriver.get("http://www.baidu.com")

print(chromeDriver.page_source)

 

 更多注意事项及用法可参考:selenium抓取动态网页数据 - enjoyzier - 博客园 (cnblogs.com)

 

posted @ 2022-02-01 16:01  ArkonLu  阅读(93)  评论(0编辑  收藏  举报