python 下载小说
生活随笔
收集整理的這篇文章主要介紹了
python 下载小说
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
以下載官場風月小說為例:
?
具體代碼:
# coding=utf-8 import os import re from selenium import webdriver from selenium.common.exceptions import TimeoutException import selenium.webdriver.support.ui as ui import time from datetime import datetime from selenium.webdriver.common.action_chains import ActionChains# from threading import Thread from pyquery import PyQuery as pq import LogFileimport urllib class downfile(object):def __init__(self,websearch_url,novelname):self.driver = webdriver.PhantomJS()# self.driver.set_page_load_timeout(10) self.driver.maximize_window()novel_name = unicode(novelname,'utf8')logfile = os.path.join(os.getcwd(), 'novel\\' + novel_name + '.txt')self.log = LogFile.LogFile(logfile)self.websearch_url = websearch_urldef scroll_foot(self):'''滾動條拉到底部:return:'''js = ""# 如何利用chrome驅動或phantomjs抓取if self.driver.name == "chrome" or self.driver.name == 'phantomjs':js = "var q=document.body.scrollTop=10000"# 如何利用IE驅動抓取elif self.driver.name == 'internet explorer':js = "var q=document.documentElement.scrollTop=10000"return self.driver.execute_script(js)def scrapy_date(self):self.driver.get( self.websearch_url)htext = self.driver.execute_script("return document.documentElement.outerHTML")dochtml = pq(htext)Elements = dochtml('div[class="novel_list"]').find('ul').find('li').find('a')for e in Elements.items():url = 'http://www.shanxixsa.com/sxtvi/21/21051/'+e.attr('href')txt = e.text().encode('utf8').strip()print txtself.log.WriteLog(txt)self.driver.get(url)shtext = self.driver.execute_script("return document.documentElement.outerHTML")sdochtml = pq(shtext)sElements = sdochtml('div[ID="novel_content"]')for se in sElements.items():stxt = se.text().encode('utf8').strip()self.log.WriteLog(stxt)obj = downfile('http://www.shanxixsa.com/sxtvi/21/21051/index.html','官場風月') obj.scrapy_date()# -*- coding: utf-8 -*-import os import codecs import datetime import time import logging#封裝logging日志 class LogFile:# def __init__(self,fileName):# self.fileName = os.path.join(os.getcwd(), fileName)# def WriteLog(self,message):# strMessage = '\r\n%s: %s' % (time.strftime('%Y-%m-%d_%H-%M-%S'), message)# with open(self.fileName, 'a') as f:# f.write(strMessage)#構造函數(shù) fileName:文件名def __init__(self,fileName,level=logging.INFO):fh = logging.FileHandler(fileName)self.logger = logging.getLogger()self.logger.setLevel(level)# formatter = logging.Formatter('%(asctime)s : %(message)s','%Y-%m-%d %H:%M:%S')formatter = logging.Formatter('%(message)s', '%Y-%m-%d %H:%M:%S')fh.setFormatter(formatter)self.logger.addHandler(fh)def WriteLog(self,message):self.logger.info(message)def WriteErrorLog(self,message):self.logger.setLevel(logging.ERROR)self.logger.error(message)?
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python 下载小说的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脏读,不可重复读,幻读
- 下一篇: ansible unarchive模块