Python 爬取笔趣阁小说

  最近在学习 Python,觉得爬虫很好玩,今天我准备爬取我看了至少三遍的小说《雪中悍刀行》,作者是烽火戏诸侯,他的小说很有才华,有着很多的粉丝,但他很多部小说都处于断更状态,因此人称大内总管。

  我准备爬取小说的网站是新笔趣阁,这里一个盗版网站,是名门正派的眼中钉,不过对于我这种不想交钱看小说的人,没资格评论它,这个网站连载的小说更新的还是比较快的,内容都是和正版的内容一模一样。好了,废话不多说了,下面开始放代码:

  我在抓取小说内容时先用了 requests 库来抓取,结果就抓到了一章小说的开头几句话,后来想到了刚在学习的 Selenium 自动化测试工具,利用 Selenium 可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面源代码,可以做到爬取呈现在你面前的所有内容。

  首先我们先打开我们要爬取小说的主页 url = ‘https://www.xxbiquge.com/0_807/‘,此时我们可以看到页面是小说的全部章节,我们先要拿到小说章节总数,代码如下:

def page_num():
    """
    对小说的进行分析,得到小说总的章节数
    :return: 章节数
    """
    # 目标小说的 URL 地址,如果你想爬其他小说,只要改成你要爬的小说的主页就好了
    url = ‘https://www.xxbiquge.com/0_807/‘
    browser = webdriver.Chrome()
    browser.get(url)
    html = browser.page_source
    soup = BeautifulSoup(html, ‘lxml‘)
    dd = soup.find_all(name="dd")
    page = len(dd)
    browser.close()
    return page

  接下来我们要对单章小说进行分析,比如第一章,第一章的 url = ‘https://www.xxbiquge.com/0_807/4055527.html‘,我们很容易就能拿到第一章的源代码,关键是怎么得到下一章的内容,Selenium 可以模拟用户点击下一章,跳转到下一章的页面,代码如下:

def index_page(i):
    """
    加载出小说的每一章内容
    :param i: 小说的第 i 章
    """
    if i == 1:
        # 小说第一章的 Url 地址, 你要爬取的小说的第一章 url
        url = "https://www.xxbiquge.com/0_807/4055527.html"
        browser.get(url)
    # 等待 Content 节点加载出来
    wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ‘#content‘)))
    # 调用 get_info() 方法对页面进行解析
    get_info()
    # 寻找下一章点击的节点
    next_p = browser.find_elements(By.XPATH,(‘//div[@class="bottem2"]/a‘))[2]
    # 点击按钮
    next_p.click()

  第三步,提取每一章的内容,代码如下:

def get_info():
    """
    提取每一章小说的章章节名及正文
    :return:
    """
    # 找到章节的名字
    name = browser.find_element_by_css_selector(‘#wrapper > div.content_read > div > div.bookname > h1‘).text
    print(name)
    # 找到小说正文
    content = browser.find_element_by_id(‘content‘).text
    print(content)
    # 将拿到的小说名和对应的正文内容写入 txt 文件中
    with open(‘雪中悍刀行.txt‘,‘a‘,encoding="utf-8") as f:
        f.write(‘\n‘.join([name, content]))
        f.write(‘\n\n‘)

  第四步,遍历每一页:

def main():
    """
    b遍历小说的全部章节
    :return:
    """
    page = page_num()
    print(page)
    for i in range(1,page+1):
        index_page(i)

  最后一步,运行程序:

  

if __name__ == ‘__main__‘:
    main()

然后就可以喝杯茶,等着小说下好。完整代码在:https://github.com/luoyunqa/Test/tree/master/biquge_novel

原文地址:https://www.cnblogs.com/mumaniu/p/9275821.html

时间: 2024-08-02 10:32:15

Python 爬取笔趣阁小说的相关文章

用爬虫爬取笔趣阁小说

#时间 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').

scrapycrawl 爬取笔趣阁小说

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

爬取笔趣阁小说

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

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

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

Python 爬取笔趣看小说

# -*- coding:utf-8 -*- from bs4 import BeautifulSoup import requests import sys class DownLoader(object): def __init__(self): self.server = 'http://www.biqukan.com/' self.target = 'http://www.biqukan.com/0_790/' self.header = {'User-Agent': 'Mozilla/

多线程爬取笔趣阁免费小说全站爬取

import threading,os,time,requests,pymongo,refrom queue import Queuefrom lxml import etreefrom bs4 import BeautifulSoup as BPclient = pymongo.MongoClient(host='localhost',port=27017)mg = client['biquge']def get_fenlei(): """ 爬取图书全部分类 :return

用Python爬取网页上的小说,让你从此告别书荒!

人生苦短,我用Python.有道爱看小说的小伙伴们,在看小说的期间总会遇到那么一段书荒期,在这段期间想看书却找不到,要么就是要VIP,要么就是下载不了.所以学会爬取网站上的小说是很有必要的,今天就以爬取笔趣阁小说为例,进行网页上小说的爬取.首先当我们打开笔趣阁的网页时,我们会看到很多的小说列表,如下图所示: ? 就拿爬取图上所示的小说来说,我们要进行以下的几个步骤: 爬取小说首先要构建请求表头: ? 然后我们的获取下载链接: ? 接下来我们进行文章内容的爬取: ? 最后我们将爬取来的小说写入到文

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

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

免app下载笔趣阁小说

这个是对最近学习的一次总结吧.前两天写的,今天才有时间写博客. 偶然点开笔趣阁的网址(https://www.biquge.cc/),突然觉得我应该可以用爬虫实现小说下载.有这个想法我就开始尝试了. 爬虫呀,说白了就是程序自动模拟浏览器操作来获取网页的内容. 先用F12查看元素,查看章节网址链接,和章节正文内容. 结构很简单. 想法很快就有了,通过网站的搜索打开小说详情页,然后获取每一章的网址url,依次访问每一章网址,再通过正则表达式匹配章节内容, 最后将匹配的内容保存到本地. 中间忘了一个小