前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium)

[Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium)

作者头像
bsbforever
发布2020-08-18 15:32:57
2K0
发布2020-08-18 15:32:57
举报
文章被收录于专栏:时悦的学习笔记

好久没更新Python相关的内容了,这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分

上节我们说了如何获取动态网页中的jquery内容

[Python爬虫]使用Python爬取静态网页-斗鱼直播

[Python爬虫]使用Python爬取动态网页-豆瓣电影(JSON)

这节说如何利用selenium模拟浏览器动作


开发环境

操作系统:windows 10

Python版本 :3.6

爬取网页模块:selenium,PhantomJS

分析网页模块:BeautifulSoup4


关于Selenium

selenium 是一个Web自动测试的工具,可以用来操作一些浏览器Driver,例如Chrome,Firefox等,也可以使用一些headless的driver,例如PhantomJS

具体请参加官网:

http://selenium-python.readthedocs.io/

关于PhantomJS

PhantomJS是一个无头(headless)的WebKit javascript API

我们可以用它模拟浏览器的操作,也可以用来截图

具体参加官网:

http://phantomjs.org/

模块安装

lxml为解析网页所必需

pip3 install selenium pip3 install BeautifulSoup4 pip3 install lxml

Driver 下载

这里我们下载Chrome driver和 Phantomjs

其他的driver见官网

http://selenium-python.readthedocs.io/installation.html#drivers

Chrome下载

下载完成后可以放到系统环境变量中,如:

C:\Windows\System32

https://sites.google.com/a/chromium.org/chromedriver/downloads

PhatomJS下载

下载后同样放到系统环境变量中

下载完成解压后只需要将exe文件放到目录下

http://phantomjs.org/download.html

网页分析

我们以幽游白书为例

http://ac.qq.com/ComicView/index/id/543606/cid/1

打开后发现漫画并没有全部加载需要向下翻页才可以加载完毕

之后通过开发者工具分析图片的地址

这里我们通过bs4 来提取出所有img地址

之后通过Python将其保存成图片

程序原理

代码介绍

1. import相关的模块

import selenium.webdriver from bs4 import BeautifulSoup

2. 调用Chrome或者PhantomJS

driver = selenium.webdriver.Chrome() #driver = selenium.webdriver.PhantomJS()

3. 获取网页源代码

content=driver.page_source

4. 获取标题和图片地址之后存入字典

5. 新建目录并下载图片

这里首先判断是否有该漫画的目录,如果没有则新建,之后下载图片,图片的名称为列表的索引号

执行结果

注意事项:

  1. 建议先用Chrome测试OK,再改用PhantomJS执行
  2. Chrome和PhantomJS在实际向下翻页时有差异,需测试后调节循环次数
  3. 为防止被ban,每次爬取采用了随机延迟的方法
  4. 只能爬取免费的内容
  5. 本脚本仅用于学习用途

源码位置

源码请访问我的github主页

https://github.com/bsbforever/spider/blob/master/selenium_web.py

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开发环境
  • 关于Selenium
  • 关于PhantomJS
  • 模块安装
  • Driver 下载
    • Chrome下载
      • PhatomJS下载
      • 网页分析
      • 程序原理
      • 代码介绍
      • 执行结果
      • 注意事项:
      • 源码位置
      相关产品与服务
      云开发 CLI 工具
      云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档