python3.5爬虫完成笔趣阁小说的爬取

原创 2016年08月28日 20:13:09

内容简介:

本文主要是利用python3.5完成了笔趣阁小说的爬虫程序存储章节txt到本地,方便阅读。

需求:

由于手机最近阅读笔趣阁的小说插了特别多的广告特别麻烦;所以就做了个小程序实现下文本的爬取,全部把小说爬取下来存储成txt,放到手机上阅读。

过程:

说做就做,本来python爬虫就比较简单,笔趣阁的模块也都是直接读取源代码就可以获取文字;所以就都读下来了。

如果想全部存储到一个文档,对应的改动程序,让列表添加,再一次写入就行。

附上源码:有兴趣的可以设置下对应的文件夹,就可以直接写到上面的直接os.makefiles();

下载其它小说请注意修改 [下载到的本地目录, 书号, 起始index号]

源码:

import re  
import urllib.request as request    
from bs4 import BeautifulSoup    
import requests  

'''全局变量声明, 下载其它小说请注意修改 [下载到的本地目录, 书号, 起始index号]'''
downLoadFile = 'F:\\txt_cpxs\\' ##要下载到的目录
shuhao = '2_2970' ## 书号就是http://www.biquge.com/2_2970/2456497.html; com后面的那个。
start, end = 2456497,100000

def setSrr(url):  
    if(requests.get(url).status_code == 404):  
        print('这是个错误网址')  
        return []  
    print ('正在打开 ',url)      
 
    l  = []  
    '''''请求响应和不响应的处理'''  
    response = request.urlopen(url)  
      
    html = response.read()    
    soup = BeautifulSoup(html)  
    item = soup.findAll('h1')   
    title = re.match(r'(.*)<h1> (.*)</h1>(.*)', str(item) ,re.M|re.I).group(2)  
    l.append(title.split(' ')[0])  
    l.append(title)  
    strings = soup.findAll('div', id="content")[0];  
    for string in strings:  
        st = string.__str__()  
        if (len(st.split('<br/>')) > 1):  
            pass  
        else:  
            l.append(st)  
    return l  
#strings.split()  
 
#穿入字符串 写入文件;标题为l[0]  
def setDoc(l):  
    if(len(l) < 2):  
        return  
    file_s = downLoadFile  + l[0] + '.txt'  
    file = open(file_s, 'w+', encoding='utf-8')  
    for i in l:  
        file.write('\t')  
        for ii in i.split('    '):  
            file.write(ii)  
        file.write('\n')  
 
#开始自加数值;读取新文档;如果没有;那么跳过  
''''' 最开始设置为1066142,100  '''  
def setNum(num,n):  
    l = [(num + i) for i in range(n)]  
    sl = [str(l[i]) for i in range(len(l))]  
    return sl  
      
'''''自动产生新的url'''  

'''''  自己观察到: 第一章的地址http://www.biquge.com/2_2970/2456497.html
最后一张的地址 http://www.biquge.com/2_2970/3230837.html'''  
def setNewUrl(sl):  
    urls = []  
    for x in sl:  
        xsr = 'http://www.biquge.com/'+ shuhao +'/'+ x +'.html'  #对应的单章html
        urls.append(xsr)  
    return urls  
 


def setTxts(urls):  
    for url in urls:  
        setDoc(setSrr(url))
        
print(  
'''''
--------------
开始下载超品相师
--------------
——actanble 手打——
如果要下载其他的txt文件: 请修改——
URL 和 对应的起始html的index号。
'''  
)  
setTxts(setNewUrl(setNum(start, end))) 


                    
版权声明:本文虽为博主原创文章,但允许随意转载。

相关文章推荐

Python 爬虫(获取小说)

以《笔趣阁》小说网站为例 小说的目录网站地址假如为:http://www.biquge.com/19_19272/ 那么,19_19272就是module参数 命令行运行时,需要这么做:python ...
  • wyansai
  • wyansai
  • 2016年10月14日 17:15
  • 3532

Python3网络爬虫(七):使用Beautiful Soup爬取小说

转载请注明作者和出处:http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3...

Python爬虫系列:爬取小说并写入txt文件

Python爬虫系列——爬取小说并写入txt文件     文章介绍了如何从网站中爬取小说并写入txt文件中,实现了单章节写取,整本写取,多线程多本写取。爬虫使用的python版本为python3,有些...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Python 爬取小说(诛仙)

爬虫正在学习中,感觉不能只看不动手, 于是,抓个小说试试手, 目前感觉正则表达式非常不熟悉, 主要是要用于匹配以及去除一些div br 等 标签存入txt中,一直在查资料。。。 ...

Python爬虫实战之使用Scrapy爬起点网的完本小说

一.概述 本篇的目的是用scrapy来爬取起点小说网的完本小说,使用的环境ubuntu,至于scrapy的安装就自行百度了. 二.创建项目 scrapy startprojec...
  • totcw
  • totcw
  • 2017年03月23日 15:54
  • 2626

Python 3.x爬虫技巧总结

最近想下载一些陌声人广播,在回家的火车上听,但是链接太多,如果要一个个去点就太浪费时间了,所以就想写一个爬虫自动下载。 用python爬虫抓站的一些技巧总结这篇文章对python爬虫技巧总结得很好,但...

Python3 爬虫(五) -- 单线程爬取我的CSDN全部博文

序 本文我实现的是一个CSDN博文爬虫,将我的csdn博客http://blog.csdn.net/fly_yr/article/list/1 中的全部博文基本信息抓取下来,每一页保存到一个文件中。 ...
  • fly_yr
  • fly_yr
  • 2016年05月30日 10:11
  • 5688

Python3 爬虫(一)-- 简单网页抓取

序 一直想好好学习一下Python爬虫,之前断断续续的把Python基础学了一下,悲剧的是学的没有忘的快。只能再次拿出来滤了一遍,趁热打铁,借鉴众多大神的爬虫案例,加入Python网络爬虫的学习大军~...
  • fly_yr
  • fly_yr
  • 2016年05月28日 16:28
  • 25596

Python爬取小说

Python爬取小说生成txt文档
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python3.5爬虫完成笔趣阁小说的爬取
举报原因:
原因补充:

(最多只允许输入30个字)