'''
在爬取某些网站时有js加载的信息时,主要是js拼接的操作,
可以通过selenium来进行拼接,可以节省大量的破解JS还原操作的时间,
大大节省成本;

安装selenium:
pip install Selenium

安装chromedriver:

查看当前浏览器版本
输入chrome://help/ 可以看到“版本 68.0.3440.106(正式版本) (32 位)”字样

查看版本对应的驱动(FQ摸摸哒)
https://sites.google.com/a/chromium.org/chromedriver/downloads

找到对应的驱动版本点击进去,选择下载

#https://chromedriver.storage.googleapis.com/index.html 所有版本库的下载链接

对于window版本:(举例)
直接解压出里面的文件放到"C:/chromedriver"下,
将该路径配置到环境变量中。
否则会报“selenium.common.exceptions.WebDriverException”的错误

>>> from selenium import webdriver

#头三行可以不启动浏览器提升速度
>>> option = webdriver.ChromeOptions()
>>> option.add_argument("headless")
>>> driver = webdriver.Chrome(chrome_options=option)

>>> driver.get("https://www.zymk.cn/2446/145198.html")
>>> driver.page_source#返回JS渲染过后网页源代码

#对于一些JS要一边滑行一边加载的情况我用以下方法来实现滑动动作。

>>> from selenium import webdriver

>>> from selenium.webdriver.common.action_chains import ActionChains #

>>> driver = webdriver.Chrome()

>>> driver.get("https://ac.qq.com/ComicView/index/id/629846/cid/1")

#到这里我们发现该网站是要滑动浏览器的滚动条来触发js对图片一个个进行加载,
#我们下面做个模仿拉动支滚动条的动作

>>> above = driver.find_element_by_id("mainControlNext")# 定位到要悬停的元素。

>>> ActionChains(driver).move_to_element(above).perform()# 对定位到的元素执行鼠标悬停操作

>>> driver.page_source#返回JS渲染过后网页源代码

#另处一种原理是借助JavaScript来控制浏览器的滚动条。
#WebDriver提供了execute_script()方法来执行JavaScript代码。
#<!-- window.scrollTo(左边距,上边距); -->window.scrollTo(0,450)
#更多可参考:https://blog.csdn.net/lilongsy/article/details/76142497

>>> js="window.scrollTo(0,2000);"

>>> driver.execute_script(js)

>>> driver.quit()

对于爬虫来说selenium主要用法已经完成,其他相关的selenium操作文档参考如下:

中文:http://www.testclass.net/selenium_python/

'''

转载于:https://www.cnblogs.com/cwx-0324/p/10193970.html

爬虫selenium教程相关推荐

  1. python3爬虫入门教程-总算懂得python3.4爬虫入门教程

    Python是一款功能强大的脚本语言,具有丰富和强大的库,重要的是,它还具有很强的可读性,易用易学,非常适合编程初学者入门.以下是小编为你整理的python3.4爬虫入门教程 环境配置:下载Pytho ...

  2. 爬虫进阶教程:极验(GEETEST)验证码破解教程

    原文链接及原作者:爬虫进阶教程:极验(GEETEST)验证码破解教程 | Jack Cui 一.前言 爬虫最大的敌人之一是什么?没错,验证码![Geetest]作为提供验证码服务的行家,市场占有率还是 ...

  3. python网络爬虫系列教程_Python网络爬虫系列教程连载 ----长期更新中,敬请关注!...

    感谢大家长期对Python爱好者社区的支持,后期Python爱好者社区推出Python网络爬虫系列教程.欢迎大家关注.以下系列教程大纲,欢迎大家补充.视频长期连载更新中 --------------- ...

  4. 爬虫python入门_python爬虫入门教程有哪些?适合的只有这三个

    python爬虫是现在包括以后一种很重要的获取数据的方式. 当然,也因为网络爬虫本身也很有趣,所以很多人了解过一次爬虫后,就产生了浓厚的兴趣. 但是,想学python爬虫的话,应该看什么python爬 ...

  5. python很全的爬虫入门教程

    python很全的爬虫入门教程 一.爬虫前的准备工作 首先,我们要知道什么是爬虫 1.什么是网络爬虫? 网络爬虫是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁 ...

  6. 最没灵魂的爬虫——Selenium 游戏信息的爬取与分析

    最没有灵魂的爬虫--Selenium 游戏信息爬取与分析 准备工作 IDE选取 selenium安装 ChromeDriver安装与配置 还需要用到的其他python库 数据爬取 杉果游戏的数据获取 ...

  7. Python爬虫入门教程:博客园首页推荐博客排行的秘密

    1. 前言 虽然博客园注册已经有五年多了,但是最近才正式开始在这里写博客.(进了博客园才知道这里面个个都是人才,说话又好听,超喜欢这里...)但是由于写的内容都是软件测试相关,热度一直不是很高.看到首 ...

  8. 一份Python爬虫实战教程清单

    一份Python爬虫实战教程清单 本学期的所有课程任务已经完全结束了,有时间来整理一份关于 Python爬虫 的实战教程. 本教程都没有大篇幅的介绍到底该如何去完成一份爬虫代码,但是会分享我在学习爬虫 ...

  9. Python爬虫学习教程:天猫商品数据爬虫

    天猫商品数据爬虫使用教程 下载chrome浏览器 查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动 pip安装下列包 pip install selenium pip in ...

最新文章

  1. MySQL 基础内容
  2. 创建数据库时指定编码方式
  3. Ubuntu 下配置 SSH服务全过程及问题解决
  4. diff命令两个服务器文件,linux 比较两个文件夹不同 (diff命令, md5列表)
  5. 机票分享第一篇 机票由何而来
  6. python交流群教学视频_自学 Python,视频教程和代码一看就懂,动手就废,应该这么学...
  7. 12.16直播:藏在华为物联网操作系统里的“秘密”
  8. [POJ3254]Corn Fields
  9. JS和JS是IE上JavaScript或JScript的缩写。
  10. Android studio 的那些坑
  11. Shell脚本中调用另外一个脚本的方法
  12. matlab画矩阵中的两列,matlab 图例 两列
  13. linux-2.6.34.1移植到TQ2440
  14. 我的木子走了,余生只剩下张长弓.....
  15. AI 大数据在数据隐私保护下如何普惠共享?CCF TF「联邦学习」研讨会给出了答案
  16. 跳槽字节跳动,从新手到Flutter架构师,一篇就够!深度好文
  17. 【转载】GPU深度发掘(一)::GPGPU数学基础教程
  18. [无线运营] 841N做覆盖已运行两年,现改用941N刷UBNT做覆盖!多图更新
  19. JAVA大数据需要学什么
  20. 快速下载“阿里云镜像网站“Centos各个版本 全流程

热门文章

  1. 基于 xterm + websocket + vue 实现网页版终端 terminal
  2. 艾美网帮助您实现肌肤有效美白
  3. 手把手教你封杀恶意登录服务器的ip
  4. Docker Cgroup资源配置(CPU、内存、磁盘)
  5. 传感技术学报投稿经验分享
  6. 域名备案申请未通过管局审核,因为在审核通过前网站已开通
  7. 帝国cms导入html模板,帝国CMS模板组导入导出更换模板
  8. 为什么觉得云服务比传统服务器还要贵呢?
  9. 【子桓说】你的确做了很多工作!但和挣钱没什么关系
  10. 利用nid更改数据库的名称(OCM---OCP)