• python selenium下载电子书


    有人推荐书籍《御伽草纸》,网上找了很久都找不到下载,估计是被Amazon版权了,但是在网易云阅读看到有书,所以就写个代码下载下来。

    由于网易云阅读是js加载,用requests或者下载html的方法都太麻烦(毕竟这本书也才8万字),所以就简单粗暴的用selenium下载,而且还是截图(太懒啦...)

    得到的图片被我转换为pdf:

    附上代码:

     1 #!/usr/bin/python3.4
     2 # -*- coding: utf-8 -*-
     3 
     4 from selenium import webdriver
     5 import time
     6 from selenium.webdriver.common.keys import Keys
     7 from selenium.webdriver.common.action_chains import ActionChains
     8 
     9 # http://www.cnblogs.com/fnng/p/3238685.html
    10 # 打开火狐浏览器
    11 browser = webdriver.Chrome()
    12 # 设置浏览器大小
    13 browser.set_window_size(1200, 900)
    14 # 输入网址
    15 browser.get("http://yuedu.163.com/book_reader/ee677a1b42ed4af3b52adbe4c0fb6a23_4")
    16 # 根据各自网速来判断网址加载时间
    17 time.sleep(10)
    18 
    19 # 选择阅读方式
    20 browser.find_element_by_class_name("portrait").click()
    21 time.sleep(5)
    22 for i in range(3000):
    23     # 截图
    24     browser.save_screenshot("../jpg/txt/" + str(i + 1) + ".png")
    25     time.sleep(5)
    26 
    27     # 点击右边向右翻页
    28     try:
    29         ActionChains(browser).send_keys(Keys.ARROW_RIGHT).perform()
    30         # ActionChains(browser).click().perform()
    31         print("111111")
    32     except:
    33         ActionChains(browser).send_keys(Keys.ENTER).perform()
    34         print("2222222222")
    35 
    36 browser.quit()

    在我的github也放着呀:

    御伽草纸

  • 相关阅读:
    JavaScript中DOM的层次节点(一)
    JS可维护性代码
    Angular页面加载闪现解决方案 ng-cloak
    无法向会话状态服务器发出会话状态请求。
    算法题--拓扑排序
    2020年04月25日个人赛
    Educational Codeforces Round 86 (Rated for Div. 2)
    博弈--巴什博弈
    2020年04月19日个人赛
    AtCoder Beginner Contest 163(D)
  • 原文地址:https://www.cnblogs.com/TTyb/p/5989152.html
Copyright © 2020-2023  润新知