python入门学习之Python爬取最新笔趣阁小说

Python爬取新笔趣阁小说,并保存到TXT文件中
      我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后迎刃而解了。这个程序非常的简单,程序的大概就是先获取网页的源代码,然后在网页的源代码中提取每个章节的url,获取之后,在通过每个url去获取文章的内容,在进行提取内容,然后就是保存到本地,一TXT的文件类型保存。
大概是这样
1:获取网页源代码
2:获取每章的url
3:获取每章的内容
4:下载保存文件中

1、首先就是先安装第三方库requests,这个库,打开cmd,输入pip install requests回车就可以了,等待安装。然后测试

 2、然后就可以编写程序了,首先获取网页源代码,也可以在浏览器查看和这个进行对比。

s = requests.Session()
url = ‘https://www.xxbiquge.com/2_2634/‘  # 这里可以进行更改你想要爬取小说的url
html = s.get(url)
html.encoding = ‘utf-8‘
print(html.text)    #获取网页源代码

  运行后显示网页源代码

 

按F12查看

这样就说明这是对的

3、然后进行获取网页源代码中的每章url,进行提取

caption_title_1 = re.findall(r‘<a href="(/2_2634/.*?\.html)">.*?</a>‘,html.text)
print(caption_title_1)

  

由于过多,就剪切了这些,看到这些URL,你可能想问为什么不是完整的,这是因为网页中的本来就不完整,需要进行拼凑得到完整的url

for i in caption_title_1:
    caption_title_1 = ‘https://www.xxbiquge.com‘+i

  这样就完成了,就可以得到完整的了

4、下面就是获取章节名,和章节内容

   #获取章节名
    name = re.findall(r‘<meta name="keywords" content="(.*?)" />‘,r1.text)[0]         # 提取章节名
    print(name)

    file_name.write(name)
    file_name.write(‘\n‘)

    # 获取章节内容
    chapters = re.findall(r‘<div id="content">(.*?)</div>‘,r1.text,re.S)[0]            #提取章节内容
    chapters = chapters.replace(‘ ‘, ‘‘) # 后面的是进行数据清洗
    chapters = chapters.replace(‘readx();‘, ‘‘)
    chapters = chapters.replace(‘& lt;!--go - - & gt;‘, ‘‘)
    chapters = chapters.replace(‘<!--go-->‘, ‘‘)
    chapters = chapters.replace(‘()‘, ‘‘)

  5、转换字符串和保存文件

 # 转换字符串
    s = str(chapters)
    s_replace = s.replace(‘<br/>‘,"\n")
    while True:
        index_begin = s_replace.find("<")
        index_end = s_replace.find(">",index_begin+1)
        if index_begin == -1:
            break
        s_replace = s_replace.replace(s_replace[index_begin:index_end+1],"")
    pattern = re.compile(r‘ ‘,re.I)
    fiction = pattern.sub(‘ ‘,s_replace)
    file_name.write(fiction)
    file_name.write(‘\n‘)

  6、完整的代码

import requests
import re

s = requests.Session()
url = ‘https://www.xxbiquge.com/2_2634/‘
html = s.get(url)
html.encoding = ‘utf-8‘

# 获取章节
caption_title_1 = re.findall(r‘<a href="(/2_2634/.*?\.html)">.*?</a>‘,html.text)

# 写文件
path = r‘C:\Users\Administrator\PycharmProjects\untitled\title.txt‘     # 这是我存放的位置,你可以进行更改
file_name = open(path,‘a‘,encoding=‘utf-8‘)

# 循环下载每一张
for i in caption_title_1:
   caption_title_1 = ‘https://www.xxbiquge.com‘+i
   # 网页源代码
   s1 = requests.Session()
   r1 = s1.get(caption_title_1)
   r1.encoding = ‘utf-8‘

   # 获取章节名
   name = re.findall(r‘<meta name="keywords" content="(.*?)" />‘,r1.text)[0]
   print(name)

   file_name.write(name)
   file_name.write(‘\n‘)

   # 获取章节内容
   chapters = re.findall(r‘<div id="content">(.*?)</div>‘,r1.text,re.S)[0]
   chapters = chapters.replace(‘ ‘, ‘‘)
   chapters = chapters.replace(‘readx();‘, ‘‘)
   chapters = chapters.replace(‘& lt;!--go - - & gt;‘, ‘‘)
   chapters = chapters.replace(‘<!--go-->‘, ‘‘)
   chapters = chapters.replace(‘()‘, ‘‘)
   # 转换字符串
   s = str(chapters)
   s_replace = s.replace(‘<br/>‘,"\n")
   while True:
       index_begin = s_replace.find("<")
       index_end = s_replace.find(">",index_begin+1)
       if index_begin == -1:
           break
       s_replace = s_replace.replace(s_replace[index_begin:index_end+1],"")
   pattern = re.compile(r‘ ‘,re.I)
   fiction = pattern.sub(‘ ‘,s_replace)
   file_name.write(fiction)
   file_name.write(‘\n‘)

file_name.close()

  7、修改你想要爬取小说url后再进行运行,如果出现错误,可能是存放位置出错,可以再保存文件地址修改为你要存放的地址,然后就结束了

就是爬取的完整的小说,是不是很简单,,希望能对你所帮助

最后送上一点小福利吧

链接:https://pan.baidu.com/s/1sMxwTn7P2lhvzvWRwBjFrQ

提取码:kt2v

链接容易被举报过期,如果失效了就在这里领取吧

原文地址:https://www.cnblogs.com/guran0823/p/12529995.html

时间: 2024-11-16 10:11:49

python入门学习之Python爬取最新笔趣阁小说的相关文章

Python 爬取笔趣阁小说

最近在学习 Python,觉得爬虫很好玩,今天我准备爬取我看了至少三遍的小说<雪中悍刀行>,作者是烽火戏诸侯,他的小说很有才华,有着很多的粉丝,但他很多部小说都处于断更状态,因此人称大内总管. 我准备爬取小说的网站是新笔趣阁,这里一个盗版网站,是名门正派的眼中钉,不过对于我这种不想交钱看小说的人,没资格评论它,这个网站连载的小说更新的还是比较快的,内容都是和正版的内容一模一样.好了,废话不多说了,下面开始放代码: 我在抓取小说内容时先用了 requests 库来抓取,结果就抓到了一章小说的开头

用爬虫爬取笔趣阁小说

#时间 2019年3月4日19:16:06 #功能:爬取笔趣阁任何小说. from urllib import request from bs4 import BeautifulSoup #此函数用来获取每章对应的小说,并保存小说 def secondOpenURL(url,ch_name): # 请求每章详细内容 date = request.urlopen(url).read().decode('gbk') soup = BeautifulSoup(date, 'html.parser').

爬取笔趣阁小说

<修罗武神>是在17K小说网上连载的网络小说,作者为善良的蜜蜂.小说讲述了一个少年从下界二等门派外门弟子成长为上界翘楚人物的故事.该书曾入选“第三届橙瓜网络文学奖”百强作品. 编程只是实现目的的工具. 所以重点是分析我们的需求. 获取小说目录页面是基本.这里有各个章节的链接,标题等等内容.这是我们需要的. 有了各个章节的链接,就需要进入其中获得各个章节的内容. 1.首先是爬取网站的内容 1 def get_content(url): 2 3 try: 4 headers = { 5 'User

scrapycrawl 爬取笔趣阁小说

前言 第一次发到博客上..不太会排版见谅 最近在看一些爬虫教学的视频,有感而发,大学的时候看盗版小说网站觉得很能赚钱,心想自己也要搞个,正好想爬点小说能不能试试做个网站(网站搭建啥的都不会...) 站点拥有的全部小说不全,只能使用crawl爬全站 不过写完之后发现用scrapy爬的也没requests多线程爬的快多少,保存也不好一本保存,由于scrapy是异步爬取,不好保存本地为txt文件,只好存mongodb            捂脸 下面是主代码 # -*- coding: utf-8 -

python应用:爬虫框架Scrapy系统学习第四篇——scrapy爬取笔趣阁小说

使用cmd创建一个scrapy项目: scrapy startproject project_name (project_name 必须以字母开头,只能包含字母.数字以及下划线<underscorce>) 项目目录层级如下: 声明Item 声明我们可能用到的所有字段,包括管理字段等.管理字段可以让我们清楚何时(date).何地(url server)及如何(spider)执行爬去,此外,还可以自动完成诸如使item失效.规划新的抓取迭代或是删除来自有问题的爬虫的item. 管理字段 Pytho

python小白学习记录 多线程爬取ts片段

from lxml import etree import requests from urllib import request import time import os from queue import Queue import threading import re from multiprocessing import pool from urllib import request def download(urls): for index in range(0,1342): n =

python入门学习——了解python

1.python语言的特点: 1)编程语言可以分为三大类:机器语言.汇编语言.高级语言: 2)也可以根据是编译或者解释来执行分为:脚本语言.静态语言: 脚本语言特点:解释执行,逐条执行,过程可以分为三步:源代码加上输入——>通过解释        器——>得到输出:(例如PHP,JavaScript) 静态语言特点:编译执行.编译既把源代码转换成目标代码,可以分为二步:源代码通过          编译器生成了目标代码——>输入加上目标代码,程序执行,得到输出:(例如C,JAVA) 3)

python 入门学习 载抄

python入门 解释型语言 和编译型语言 计算机本身不能识别高级语言,当我们运行一个程序的时候,需要一个“翻译” 来把 高级语言转换成计算机能读懂的语言. “翻译”过程分两种: 编译 编译型语言在执行程序前,首先会通过编译器执行一个编译的过程,把程序编译成机器语言. 之后,程序再次运行的时候,就不要“翻译”了,而是可以直接执行.比如C语言. 编译型语言的优点在于在运行程序的时候不用解释,可直接利用已经翻译过的文件. 解释 解释型语言就没有编译的过程,而是在程序运行的时候,通过解释器逐行解释代码

Python入门学习指南--内附学习框架

Python入门学习指南 最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的同平台: 78486745 ,欢迎大家加入共同交流学习. 对于初学者,入门至关重要,这关系到初学者是从入门到精通还是从入门到放弃.以下是结合Python的学习经验,整理出的一条学习路径,主要有四个阶段 NO.1 新手入门阶段,学习基础知识 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所有教程在基础知识介绍方面都差不多,区别在于讲的是否足够细(例如运