python selenium下载电子书
有人推荐书籍《御伽草纸》,网上找了很久都找不到下载,估计是被Amazon版权了,但是在网易云阅读看到有书,所以就写个代码下载下来。
由于网易云阅读是js加载,用requests或者下载html的方法都太麻烦(毕竟这本书也才8万字),所以就简单粗暴的用selenium下载,而且还是截图(太懒啦...)
得到的图片被我转换为pdf:
附上代码:
#!/usr/bin/python3.4
# -*- coding: utf-8 -*- from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains # http://www.cnblogs.com/fnng/p/3238685.html
# 打开火狐浏览器
browser = webdriver.Chrome()
# 设置浏览器大小
browser.set_window_size(1200, 900)
# 输入网址
browser.get("http://yuedu.163.com/book_reader/ee677a1b42ed4af3b52adbe4c0fb6a23_4")
# 根据各自网速来判断网址加载时间
time.sleep(10) # 选择阅读方式
browser.find_element_by_class_name("portrait").click()
time.sleep(5)
for i in range(3000):
# 截图
browser.save_screenshot("../jpg/txt/" + str(i + 1) + ".png")
time.sleep(5) # 点击右边向右翻页
try:
ActionChains(browser).send_keys(Keys.ARROW_RIGHT).perform()
# ActionChains(browser).click().perform()
print("")
except:
ActionChains(browser).send_keys(Keys.ENTER).perform()
print("") browser.quit()
在我的github也放着呀:
python selenium下载电子书的更多相关文章
- python selenium 下载安装(一)
1. python安装地址:https://www.python.org/downloads/windows/ 2. 下载想要安装的版本,建议3.5,3.6版本 3. 安装一路下一步(也可自定义安装 ...
- python+selenium下载文件——firefox
修改Firefox的相关配置. 1.profile.set_preference('browser.download.folderList',2) 设置成0代表桌面,1代表下载到浏览器默认下载路径:2 ...
- python+selenium下载和上传文件
操作浏览器上传文件,先看代码 1 """ 2 * send_keys() 指定文件上传路径. 3 """ 4 from selenium i ...
- python+selenium下载文件——Chrome
from selenium import webdriver import time options = webdriver.ChromeOptions() prefs = { 'profile.de ...
- Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...
- Python + Selenium +Chrome 批量下载网页代码修改【新手必学】
Python + Selenium +Chrome 批量下载网页代码修改主要修改以下代码可以调用 本地的 user-agent.txt 和 cookie.txt来达到在登陆状态下 批量打开并下载网页, ...
- python+selenium 浏览器的问题
以前用selenium调用firefox是不需要驱动的,最近安装了python3.52+最新的firefox 发现调不起来了 搜索以后发现Firefox 47+需要搞个firefox的驱动 gecko ...
- python+selenium安装步骤
1.先安装python 2.下载setuptools 使用方法是在 命令提示符(cmd)下 输入 "easy_install包名称" 3.安装pip 4.安装selenium如果是 ...
- python+selenium+Robot
准备工作: 1.下载python2.7 http://python.org/getit/ 2.下载下载setuptools [python 的基础包工具] 可以帮助我们轻松的下载,构建,安装,升级,卸 ...
随机推荐
- ecpilise引入Maven项目目录不正常,无JRE,无Maven Dependencies
原因是我的eclipse默认open perspective是java ee,改成java就恢复正常了.
- Asp.Net请求管道中的19个事件
请求管道中的19个事件.(1)BeginRequest: 开始处理请求(2)AuthenticateRequest授权验证请求,获取用户授权信息(3):PostAuthenticateRequest获 ...
- POJ3974 (manacher)
var s,t:ansistring; n,op:longint; p:..] of longint; procedure pre; var i:longint; begin s:='$*'; to ...
- PHP 上传图片和安全处理
上传图片 public function images() { $data = $_FILES['file']; switch($data['type']) { case 'image/jpeg': ...
- 在Runbook中添加Checkpoint-workflow
本文说明的是使用Checkpoint-workflow的一种场景(当然还有其他场景需要Checkpoint-workflow). 起因:Windows Azure对Automation账户中的Runb ...
- 重学STM32---(五)ADC
这两天把外部中断和ADC看了下,个人感觉外部中断不是很难,也就没有把记下来了,毕竟写这个挺浪费时间.ADC是比较复杂的,如果想让完全自由的运用ADC必须经过多次实践可能才可以.由于已经学过库函数,也就 ...
- C++学习笔记3:一些错误
错误1:执行程序后,控制台闪烁后退出 处理办法: (1)添加头文件:#include <iostream> (2)在程序返回前添加代码: std::cin.clear();//清除错误标志 ...
- 【ajax】FormData
- Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note ...
- Linux 常用命令笔记
Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...