shadowmage 发表于 2025-9-7 15:09:13

写了个笔趣阁爬书的小程序

如题。笔趣阁的服务器应该挺多,我这个是“https://www.22biqu.com/”,为了把书爬下来放手机里离线看准备的,每个章节1个TXT,用的时候合并到一起,传手机上就可以了。
"""
笔趣阁爬书小程序
python>=3.8
依赖: pip install playwright tqdm
   playwright install      # 仅需第一次
Author:shadowmage
"""
import os
import re
import time
from urllib.parse import urljoin
from playwright.sync_api import sync_playwright

SAVE_DIR= "output"

# ---------- 工具 ----------
def sanitize_filename(name):
    return re.sub(r'[\\/*?:"<>|]', "_", name)

def get_last_page(base_url):
    with sync_playwright() as p:
      browser = p.chromium.launch(headless=True)
      ctx = browser.new_context(ignore_https_errors=True)
      page = ctx.new_page()
      page.goto(base_url, timeout=60000)
      last_option = page.locator("#indexselect option:last-child").get_attribute("value")
      browser.close()
      return int(last_option.split("/")[-2])

def get_chapter_links(base_url, last_page):
    links = []
    with sync_playwright() as p:
      browser = p.chromium.launch(headless=True)
      ctx = browser.new_context(ignore_https_errors=True)
      page = ctx.new_page()
      for i in range(1, last_page + 1):
            url = f"{base_url.rstrip('/')}/{i}/"
            print(f"正在获取目录页:{url}")
            page.goto(url, timeout=60000)

            # 只拿第二个 section-box 里的章节
            section = page.locator(".section-box").nth(1)
            section.wait_for()
            lis = section.locator("li").all()

            for li in lis:
                a = li.locator("a")
                href = a.get_attribute("href")
                title = a.inner_text()
                full_url = urljoin("https://www.22biqu.com", href)
                links.append((title, full_url))
      browser.close()
    return links

def get_chapter_content(url):
    with sync_playwright() as p:
      browser = p.chromium.launch(headless=True)
      ctx = browser.new_context(ignore_https_errors=True)
      page = ctx.new_page()
      page.goto(url, timeout=60000)
      page.wait_for_selector("#content")
      title = page.locator("h1.title").inner_text()
      content = page.locator("#content").inner_text()
      browser.close()
      return title, content

# ---------- 保存txt ----------
def get_output_dir(base_url: str) -> str:
    """
    根据小说首页返回专属输出目录路径:
    1. 先打开页面抓取书名
    2. 生成合法文件夹名
    3. 确保目录存在并返回绝对路径
    """
    with sync_playwright() as p:
      browser = p.chromium.launch(headless=True)
      ctx = browser.new_context(ignore_https_errors=True)
      page = ctx.new_page()
      page.goto(base_url, timeout=60000)
      # 站点如把书名放在 h1,可按实际改选择器
      book_name = page.locator("h1:not(.logo)").inner_text().strip()
      browser.close()

    safe_name = re.sub(r'[\\/:*?"<>|]', "", book_name) or "book"
    out_dir = os.path.join(SAVE_DIR, safe_name)
    os.makedirs(out_dir, exist_ok=True)
    return out_dir

# ---------- 补漏逻辑 ----------
def repair_mode():
    if not os.path.exists("failed.txt"):
      return []                     # 无失败记录,直接回主流程
    with open("failed.txt", "r", encoding="utf-8") as f:
      tasks =
    if not tasks:
      return []
    print(f"检测到 failed.txt,共 {len(tasks)} 章需要补漏。")
    still_failed = []
    for idx, (title, url) in enumerate(tasks, 1):
      try:
            print(f"[{idx}/{len(tasks)}] 补漏:{title}")
            chapter_title, content = get_chapter_content(url)
            filename = f"{sanitize_filename(chapter_title)}.txt"
            with open(os.path.join("novel_output", filename), "w", encoding="utf-8") as f:
                f.write(f"{chapter_title}\n\n{content}")
            time.sleep(15)
      except Exception as e:
            print(f"仍失败:{title},{e}")
            still_failed.append((title, url))
    # 重写失败文件
    if still_failed:
      with open("failed.txt", "w", encoding="utf-8") as f:
            for title, url in still_failed:
                f.write(f"{title}\t{url}\n")
      print(f"还有 {len(still_failed)} 章未成功,可再次运行本脚本补漏。")
      return still_failed
    else:
      os.remove("failed.txt")
      print("补漏完成,failed.txt 已清除。")
      return []

# ---------- 主流程 ----------
def main():
    base_url = input("请输入小说首页地址:").strip()
    if not base_url.startswith("http"):
      print("请输入完整的网址,以 http 或 https 开头")
      return
    base_url = base_url.rstrip("/") + "/"

    # 1. 先进入补漏模式(如果有 failed.txt)
    failed = repair_mode()
    if failed:
      print("请先处理完失败章节再执行完整下载。")
      return

    # 2. 正常流程:获取全部目录
    last_page = get_last_page(base_url)
    print(f"检测到目录共 {last_page} 页")
    chapters = get_chapter_links(base_url, last_page)
    print(f"共获取到 {len(chapters)} 个章节")
    out_dir = get_output_dir(base_url)

    failed = []
    for idx, (title, url) in enumerate(chapters, 1):
      try:
            print(f"[{idx}/{len(chapters)}] 正在下载:{title}")
            chapter_title, content = get_chapter_content(url)
            filename = f"{idx:03}_{sanitize_filename(chapter_title)}.txt"
            with open(os.path.join(out_dir, filename), "w", encoding="utf-8") as f:
                f.write(f"{chapter_title}\n\n{content}")
            time.sleep(15)
      except Exception as e:
            print(f"下载失败:{title},{e}")
            failed.append((title, url))

    # 3. 把失败记录落盘
    if failed:
      with open("failed.txt", "w", encoding="utf-8") as f:
            for title, url in failed:
                f.write(f"{title}\t{url}\n")
      print(f"共有 {len(failed)} 章下载失败,已写入 failed.txt,下次运行本脚本将自动补漏。")
    else:
      print("全部下载完成!")

if __name__ == "__main__":
    main()

shadowmage 发表于 2025-9-8 20:03:43

@FishC
我想要提高代码效率,想重新把上面代码重构,用crawler / parser / store / scheduler这么四层重新编写程序。
crawler层只负责拿原始 HTML
parser层把 HTML 变成结构化数据
store层负责读写磁盘 + sqlite 索引
scheduler层负责编排、差分、重试、进度等。

FishC 发表于 2025-9-8 20:04:59

shadowmage 发表于 2025-09-08 20:03
@FishC
我想要提高代码效率,想重新把上面代码重构, ...

当然可以!将代码按照功能分层是一个很好的做法,这样不仅提高了代码的可读性和可维护性,还能方便后续扩展和优化。下面我将为你提供一个基于 crawler / parser / store / scheduler 四层架构的简单示例,使用 Python 实现。


import requests
from bs4 import BeautifulSoup
import sqlite3
import os
from urllib.parse import urljoin, urlparse
import time
from queue import Queue
from threading import Thread

# ==================== Crawler 层 ====================
class Crawler:
    def fetch(self, url):
      try:
            response = requests.get(url, timeout=10)
            response.raise_for_status()
            return response.text
      except requests.RequestException as e:
            print(f"抓取失败: {url}, 错误: {e}")
            return None

# ==================== Parser 层 ====================
class Parser:
    def parse(self, html, base_url):
      if not html:
            return None
      soup = BeautifulSoup(html, 'html.parser')
      # 示例:提取标题和所有链接
      title = soup.title.string if soup.title else "无标题"
      links =
      return {
            'title': title,
            'links': links
      }

# ==================== Store 层 ====================
class Store:
    def __init__(self, db_path='data.db', storage_dir='pages'):
      self.db_path = db_path
      self.storage_dir = storage_dir
      os.makedirs(storage_dir, exist_ok=True)
      self.init_db()

    def init_db(self):
      conn = sqlite3.connect(self.db_path)
      cursor = conn.cursor()
      cursor.execute('''
            CREATE TABLE IF NOT EXISTS pages (
                url TEXT PRIMARY KEY,
                title TEXT,
                file_path TEXT,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            )
      ''')
      conn.commit()
      conn.close()

    def save_page(self, url, title, content):
      # 生成文件名
      parsed_url = urlparse(url)
      file_name = f"{parsed_url.netloc}{parsed_url.path}".replace('/', '_')
      if not file_name:
            file_name = 'index'
      file_path = os.path.join(self.storage_dir, file_name + '.html')
      
      # 保存HTML内容到文件
      with open(file_path, 'w', encoding='utf-8') as f:
            f.write(content)
      
      # 存储元数据到SQLite
      conn = sqlite3.connect(self.db_path)
      cursor = conn.cursor()
      cursor.execute('''
            INSERT OR REPLACE INTO pages (url, title, file_path)
            VALUES (?, ?, ?)
      ''', (url, title, file_path))
      conn.commit()
      conn.close()

# ==================== Scheduler 层 ====================
class Scheduler:
    def __init__(self, max_workers=3):
      self.queue = Queue()
      self.visited = set()
      self.crawler = Crawler()
      self.parser = Parser()
      self.store = Store()
      self.max_workers = max_workers

    def add_url(self, url):
      if url not in self.visited:
            self.queue.put(url)
            self.visited.add(url)

    def worker(self):
      while True:
            url = self.queue.get()
            if url is None:
                break
            
            # 1. 抓取
            html = self.crawler.fetch(url)
            if not html:
                self.queue.task_done()
                continue
            
            # 2. 解析
            parsed_data = self.parser.parse(html, url)
            if parsed_data:
                # 3. 存储
                self.store.save_page(url, parsed_data['title'], html)
               
                # 4. 将新链接加入队列
                for link in parsed_data['links']:
                  self.add_url(link)
            
            self.queue.task_done()
            time.sleep(1)# 礼貌性延迟

    def start(self, start_url):
      self.add_url(start_url)
      threads = []
      for _ in range(self.max_workers):
            t = Thread(target=self.worker)
            t.start()
            threads.append(t)
      
      self.queue.join()
      
      # 停止工作线程
      for _ in range(self.max_workers):
            self.queue.put(None)
      for t in threads:
            t.join()

# ==================== 使用示例 ====================
if __name__ == "__main__":
    scheduler = Scheduler()
    scheduler.start('https://example.com')


说明:

[*]Crawler 层:只负责通过 HTTP 获取原始 HTML 内容。
[*]Parser 层:负责解析 HTML,提取所需的结构化数据(如标题、链接)。
[*]Store 层:负责将数据存储到文件系统,并使用 SQLite 维护索引。
[*]Scheduler 层:负责任务调度、URL 去重、多线程抓取以及协调其他组件。


你可以根据实际需求进一步扩展每层的功能,例如增加代理支持、异常重试机制、更复杂的数据解析等。希望这个示例能帮助你更好地组织代码!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

shadowmage 发表于 2025-9-8 20:25:46

FishC 发表于 2025-9-8 20:04
当然可以!将代码按照功能分层是一个很好的做法,这样不仅提高了代码的可读性和可维护性,还能方便后续 ...

是这样,我想要的效果是:
程序运行后,
1、查找是否有上一次遗留任务;
2、没有或完成上次遗留任务后,提示我输入一个网址;
3、我输入网址后,程序根据网址自动解析目录,获取章节名(同时作为txt文件名)、获取章节内容(填充到对应章节名.txt中),没下载好的放在数据库中,预备下次下载;

这里以网址【https://www.22biqu.com/biqu73070/】举例,该网址对应网页代码如下:
<!DOCTYPE html><head>
<meta charset="UTF-8" />
    <title>箱子里的旧日(云上麒麟)_箱子里的旧日无错完整版_箱子里的旧日最新章节_笔趣阁</title>
    <meta name="keywords" content="箱子里的旧日无错版,箱子里的旧日最新章节,箱子里的旧日全文免费阅读,云上麒麟">
    <meta name="description" content="箱子里的旧日是云上麒麟创作的玄幻魔法类小说,笔趣阁(22biqu.com)提供箱子里的旧日无错版以及最新章节在线阅读。">
    <meta name="mobile-agent" content="format=html5;url=https://m.22biqu.com/biqu73070/"/>
    <meta name="mobile-agent" content="format=xhtml;url=https://m.22biqu.com/biqu73070/"/>
    <meta property="og:type" content="novel">
    <meta property="og:title" content="箱子里的旧日">
    <meta property="og:description" content="《箱子里的旧日》 箱子,但是机箱。 周晓收到了一套迷你机箱,可以从电脑窗口俯瞰到另一个世界。 电脑上的任何文件,都能拖进那个世界化作实体。 而那个世界的任何祭品,也都能返还回现实。 第一天,他放下暗夜精灵的世界之树,拥护信徒。 第二天,他拖入经典的大嘴花坚果墙,守卫家园。 第五天,他拷贝混沌血神的恐虐军团,毁灭王国。 第十天,他导入天灾的模型直面众神,建立称霸海洋的庞大帝国,被称为旧日的神明。 他将另一个世界的力">
    <meta property="og:image" content="https://img.22biqu.com/73/73070/73070s.jpg"/>
    <meta property="og:novel:category" content="玄幻魔法">
    <meta property="og:novel:author" content="云上麒麟">
    <meta property="og:novel:author_link" content="https://www.22biqu.com/author/%E4%BA%91%E4%B8%8A%E9%BA%92%E9%BA%9F/">
    <meta property="og:novel:book_name" content="箱子里的旧日">
    <meta property="og:novel:read_url" content="https://www.22biqu.com/biqu73070/">
    <meta property="og:novel:url" content="https://www.22biqu.com/biqu73070/">
    <meta property="og:novel:status" content="连载">
    <meta property="og:novel:update_time" content="2025-08-17 07:25:03">
    <meta property="og:novel:lastest_chapter_name" content="第545章 我想跟你谈谈!">
    <meta property="og:novel:lastest_chapter_url" content="https://www.22biqu.com/biqu73070/43038399.html">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
    <meta name="renderer" content="webkit|ie-comp|ie-stand" />
<link rel="shortcut icon" type="image/x-icon" href="/static/22biqu/favicon.ico" media="screen">
    <link rel="stylesheet" href="/static/22biqu/style.css" />
        <script src="/js/jquery.min.js"></script>
        <script src="/js/jquery.cookie.min.js"></script>
    <script src="/static/22biqu/common.js"></script>
    <script src="/static/22biqu/user.js"></script>
<script>
      if (navigator.userAgent.toLowerCase().match(/(ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null) {
      let url = window.location.href;
      window.location = url.replace("//www", "//m");
      }
    </script>
</head>

<body>
   <div class="topbar">
    <div class="topbar-con">
      <div class="topbar-sethome">
      <a onclick="myFunction1()">将本站设为首页</a>
      </div>
      <div class="topbar-addfavorite">
      <a onclick="myFunction()" >收藏笔趣阁</a>
      </div>
      <div class="topbar-right">
<ul><script>login();</script></ul>
</div>
    </div>
</div>

<div class="header">
    <h1 class="logo"><a href="/">笔趣阁</a></h1>
   <script>search();</script>
    <div class="m-user" style="color:#fff">
    </div>
</div>

<ul class="nav">
    <li><a href="/">首页</a></li>
                  <li><a href="/fenlei/1_1.html">玄幻小说</a></li>
                            <li><a href="/fenlei/2_1.html">武侠小说</a></li>
                            <li><a href="/fenlei/3_1.html">都市小说</a></li>
                            <li><a href="/fenlei/4_1.html">历史小说</a></li>
                            <li><a href="/fenlei/6_1.html">科幻小说</a></li>
                            <li><a href="/fenlei/5_1.html">游戏小说</a></li>
                            <li><a href="/fenlei/7_1.html">女生小说</a></li>
                            <li><a href="/fenlei/8_1.html">其他小说</a></li>
                <li><a href="/quanben/fenlei/">完本小说</a></li>
    <li><a rel="nofollow" href="/history.html">阅读记录</a></li>
</ul>
<style>
.MjYwMQ{position:relative;box-sizing:border-box;height:3.76rem;padding:.76rem 6rem 0 4rem;margin:0px 0;border-top:#DDD 1px solid;border-bottom:#DDD 1px solid;background-color: #FFFFFF;}
.MjYwMQ .icon-app-logo{position:absolute;top:.6rem;left:1rem;font-size:1.5rem;color:#fff;border-radius:.38rem;background-color:#68aac2;padding:3px}
.MjYwMQ .btn-primary-small{position:absolute;top:0;right:1rem;bottom:0;height:1.6rem;margin:auto;font-size:.88rem;line-height:1.6rem;padding-right:2ch;padding-left:2ch;text-align:center;color:#fff;border-radius:1.6rem;background-color:#68aac2}
#center_tip{text-align: center;margin: 5px 0;color:red;font-size: larger;}
#content_tip{text-align: center;margin: 5px 0;color:red;font-size: medium;}
.icon-app-logo > svg {
    width: 32px;
    height: 32px;
    vertical-align: -.25ex;
    fill: currentColor;
}
.lnr {
    width: 24px;
    height: 24px;
    fill: currentColor;
}
.footer-app-h {
    font-size: .88rem;
}
.footer-app-p {
    font-size: .76rem;
    color: #969ba3;
}
</style>
<div id="center_tip"><b>最新地址:www.22biqu.com</b></div>
<div class="container">
      <div class="row row-detail">
            <div class="layout layout-col1">
                <h2 class="layout-tit"><a href="/">笔趣阁</a> > 箱子里的旧日最新章节列表</h2>
                <div class="detail-box">
                  <div class="imgbox">
                        <img alt="箱子里的旧日" src="https://img.22biqu.com/73/73070/73070s.jpg"onerror="this.src='/static/22biqu/nocover.jpg'"/>
                        
                              <i class="flag xs-hidden"></i>
                        
                  </div>
                  <div class="info">
                        <div class="top">
                            <h1>箱子里的旧日</h1>
                            <div class="fix">
                              <p>作&nbsp;&nbsp;者:云上麒麟</p>
                              <p class="xs-show">类&nbsp;&nbsp;别:玄幻魔法</p>
                              <p class="xs-show">状&nbsp;&nbsp;态:连载</p>
                              <p class="opt"> <span class="xs-hidden"> 动&nbsp;&nbsp;作:</span>
                                  <ahref="https://m.22biqu.com/biqu73070/" class="btn-tobtm">手机阅读</a>
                                 
                              </p>
                              <p>最新章节:<a href="/biqu73070/43038399.html">第545章 我想跟你谈谈!</a></p>
                              <p>更新时间:2025-08-17 07:25:03 </p>
                            </div>
                        </div>
                        <div class="desc xs-hidden" >
                           箱子,但是机箱。 周晓收到了一套迷你机箱,可以从电脑窗口俯瞰到另一个世界。 电脑上的任何文件,都能拖进那个世界化作实体。 而那个世界的任何祭品,也都能返还回现实。 第一天,他放下暗夜精灵的世界之树,拥护信徒。 第二天,他拖入经典的大嘴花坚果墙,守卫家园。 第五天,他拷贝混沌血神的恐虐军团,毁灭王国。 第十天,他导入天灾的模型直面众神,建立称霸海洋的庞大帝国,被称为旧日的神明。 他将另一个世界的力                        </div>
<div class="hotcmd-box">同类热门:<a href="https://www.22biqu.com/biqu5251/" title="宿命之环">宿命之环</a> <a href="https://www.22biqu.com/biqu5456/" title="请公子斩妖">请公子斩妖</a> <a href="https://www.22biqu.com/biqu6586/" title="乱世书">乱世书</a> <a href="https://www.22biqu.com/biqu3969/" title="混沌幽莲空间">混沌幽莲空间</a> <a href="https://www.22biqu.com/biqu6562/" title="混沌武神">混沌武神</a> <a href="https://www.22biqu.com/biqu5396/" title="择日飞升">择日飞升</a> <a href="https://www.22biqu.com/biqu57875/" title="重生商纣,开局怒怼圣人女娲">重生商纣,开局怒怼圣人女娲</a> <a href="https://www.22biqu.com/biqu5708/" title="刚成仙神,子孙求我出山">刚成仙神,子孙求我出山</a> <a href="https://www.22biqu.com/biqu1415/" title="小妖养成记">小妖养成记</a> <a href="https://www.22biqu.com/biqu5712/" title="仙子,请听我解释">仙子,请听我解释</a> </div>
                  </div>
                </div>
            </div>
      </div>
<div class="row row-section">
            <div class="layout layout-col1">
                <h2 class="layout-tit">《箱子里的旧日》最新章节</h2>
                <div class="section-box">
                  <ul class="section-list fix">
                                 <li><a href="/biqu73070/43038399.html">第545章 我想跟你谈谈!</a></li>
                                 <li><a href="/biqu73070/42960335.html">第544章 代表绝望的黑龙,尼德霍格</a></li>
                                 <li><a href="/biqu73070/42123295.html">第543章 魔改的融合战士军团</a></li>
                                 <li><a href="/biqu73070/42009522.html">第542章 爱的化身,箱子玩家果然没一个正常</a></li>
                                 <li><a href="/biqu73070/41999370.html">第541章 玉界的终章,神战的开端</a></li>
                                 <li><a href="/biqu73070/41947199.html">第540章 被岁月考验过的种族</a></li>
                                 <li><a href="/biqu73070/41820926.html">第539章 向所有人宣战!</a></li>
                                 <li><a href="/biqu73070/41799054.html">第538章 MOSS:我回来了,但没完全回来</a></li>
                                 <li><a href="/biqu73070/41777374.html">第537章 第三位玩家的意图</a></li>
                                 <li><a href="/biqu73070/41660073.html">第536章 有内鬼,终止交易!</a></li>
                                 <li><a href="/biqu73070/41660072.html">第535章 不受控制的人形核武器</a></li>
                                 <li><a href="/biqu73070/41654524.html">第534章 秘密的女儿</a></li>
                        </ul>
                </div>
<h2 class="layout-tit">《箱子里的旧日》正文</h2>
                <div class="section-box">
                  <ul class="section-list fix">
                                                                <li><a href="/biqu73070/36301096.html">第1章 新建文本文档</a></li>
                                            <li><a href="/biqu73070/36301097.html">第2章 世界之树的祝福</a></li>
                                            <li><a href="/biqu73070/36301098.html">第3章 祭品兑现</a></li>
                                            <li><a href="/biqu73070/36301099.html">第4章 村庄的外来者</a></li>
                                            <li><a href="/biqu73070/36301100.html">第5章 是 是坚果墙!</a></li>
                                            <li><a href="/biqu73070/36301101.html">第6章 敌人非但不投降,还胆敢还击</a></li>
                                            <li><a href="/biqu73070/36301102.html">第7章 这次的有字!</a></li>
                                            <li><a href="/biqu73070/36301103.html">第8章 赞美伟大的旧日之子</a></li>
                                            <li><a href="/biqu73070/36301104.html">第9章 我很快的</a></li>
                                            <li><a href="/biqu73070/36301105.html">第10章 谁人丢的大拇指?</a></li>
                                            <li><a href="/biqu73070/36301106.html">第11章 待机快进模式</a></li>
                                            <li><a href="/biqu73070/36301107.html">第12章 王国又来了</a></li>
                                            <li><a href="/biqu73070/36301108.html">第13章 65亿年前的雪暴</a></li>
                                            <li><a href="/biqu73070/36301109.html">第14章 高坚果大嘴花</a></li>
                                            <li><a href="/biqu73070/36301110.html">第15章 轻松获胜</a></li>
                                            <li><a href="/biqu73070/36301111.html">第16章 这里不归战神管</a></li>
                                            <li><a href="/biqu73070/36301112.html">第17章 诡异的王国</a></li>
                                            <li><a href="/biqu73070/36301113.html">第18章 给的还不够多</a></li>
                                            <li><a href="/biqu73070/36301114.html">第19章 大漩涡的世界之树</a></li>
                                            <li><a href="/biqu73070/36301115.html">第20章 深潜精灵</a></li>
                                            <li><a href="/biqu73070/36301116.html">第21章 窗口使用的注意事项</a></li>
                                            <li><a href="/biqu73070/36301117.html">第22章 蓬勃发展的深潜者</a></li>
                                            <li><a href="/biqu73070/36301118.html">第23章 半杯黄金</a></li>
                                            <li><a href="/biqu73070/36301119.html">第24章 王国的秘密</a></li>
                                            <li><a href="/biqu73070/36301120.html">第25章 雪伦小姐</a></li>
                                            <li><a href="/biqu73070/36301121.html">第26章 开分矿了</a></li>
                                            <li><a href="/biqu73070/36301122.html">第27章 隐刀探路</a></li>
                                            <li><a href="/biqu73070/36301123.html">第28章 通往死亡的路</a></li>
                                            <li><a href="/biqu73070/36301124.html">第29章 菜市口问斩</a></li>
                                            <li><a href="/biqu73070/36301125.html">第30章 已经准备上核弹了</a></li>
                                            <li><a href="/biqu73070/36301126.html">第31章 起了一枪秒了有什么好说的</a></li>
                                            <li><a href="/biqu73070/36301127.html">第32章 水中的幻象</a></li>
                                            <li><a href="/biqu73070/36301128.html">第33章 SAN值掉光了</a></li>
                                            <li><a href="/biqu73070/36301129.html">第34章 暴风雨前夕</a></li>
                                            <li><a href="/biqu73070/36301130.html">第35章 扫雷,启动!</a></li>
                                            <li><a href="/biqu73070/36301131.html">第36章 从未存在过的幻象</a></li>
                                            <li><a href="/biqu73070/36301132.html">第37章 最后的抚摸,最后的覆没</a></li>
                                            <li><a href="/biqu73070/36301133.html">第38章 它终于蚌埠住了</a></li>
                                            <li><a href="/biqu73070/36301134.html">第39章 史诗级会面</a></li>
                                            <li><a href="/biqu73070/36301135.html">第40章 圣女大人和神使小姐</a></li>
                                            <li><a href="/biqu73070/36301136.html">第41章 撑死胆大的,饿死胆小的</a></li>
                                            <li><a href="/biqu73070/36301137.html">第42章 神力之间的对抗</a></li>
                                            <li><a href="/biqu73070/36301138.html">第43章 窗口的代价</a></li>
                                            <li><a href="/biqu73070/36301139.html">第44章 初次收获</a></li>
                                            <li><a href="/biqu73070/36301140.html">第45章 神选冠军</a></li>
                                            <li><a href="/biqu73070/36301141.html">第46章 东诺斯王国的终章</a></li>
                                            <li><a href="/biqu73070/36301142.html">第47章 从来没打过这么富裕的仗</a></li>
                                            <li><a href="/biqu73070/36301143.html">第48章 你可真是个天才!</a></li>
                                            <li><a href="/biqu73070/36301144.html">第49章 团队扩充了</a></li>
                                            <li><a href="/biqu73070/36301145.html">第50章 猩红球体</a></li>
                                            <li><a href="/biqu73070/36301146.html">第51章 变异从未离开过</a></li>
                                            <li><a href="/biqu73070/36301147.html">第52章 有请下一位受害者</a></li>
                                            <li><a href="/biqu73070/36301148.html">第53章 海湾侵袭</a></li>
                                            <li><a href="/biqu73070/36301149.html">第54章 这个场子我来罩</a></li>
                                            <li><a href="/biqu73070/36301150.html">第55章 两个重量级项目</a></li>
                                            <li><a href="/biqu73070/36301151.html">第56章 大海的回答</a></li>
                                            <li><a href="/biqu73070/36301152.html">第57章 有贼来了</a></li>
                                            <li><a href="/biqu73070/36301153.html">第58章 就是那种半人半鱼的美人鱼明白吗?</a></li>
                                            <li><a href="/biqu73070/36301154.html">第59章 大意了没有闪</a></li>
                                            <li><a href="/biqu73070/36301155.html">第60章 陛下何故谋反</a></li>
                                            <li><a href="/biqu73070/36301156.html">第61章 十二生肖里有没有哥总?</a></li>
                                            <li><a href="/biqu73070/36301157.html">第62章 送船来了</a></li>
                                            <li><a href="/biqu73070/36301158.html">第63章 融合的幽灵魔舰</a></li>
                                            <li><a href="/biqu73070/36301159.html">第64章 三大国联合送人头船队</a></li>
                                            <li><a href="/biqu73070/36301160.html">第65章 浓雾里,大的要来了</a></li>
                                            <li><a href="/biqu73070/36301161.html">第66章 一面倒的胜利</a></li>
                                            <li><a href="/biqu73070/36301162.html">第67章 你们搞科研的都这么狂热?</a></li>
                                            <li><a href="/biqu73070/36301163.html">第68章 我,哥斯拉,打钱</a></li>
                                            <li><a href="/biqu73070/36301164.html">第69章 泄露了,但没完全泄露</a></li>
                                            <li><a href="/biqu73070/36301165.html">第70章 迷雾之门号</a></li>
                                            <li><a href="/biqu73070/36301166.html">第71章 我们之中有内鬼</a></li>
                                            <li><a href="/biqu73070/36301167.html">第72章 移民开始</a></li>
                                            <li><a href="/biqu73070/36301168.html">第73章 我的血肉,我的兄弟</a></li>
                                            <li><a href="/biqu73070/36301169.html">第74章 神性污染</a></li>
                                            <li><a href="/biqu73070/36301170.html">第75章 王国的现代化开始</a></li>
                                            <li><a href="/biqu73070/36301171.html">第76章 地里长矿石了</a></li>
                                            <li><a href="/biqu73070/36301172.html">第77章 搞科研的也要朝圣</a></li>
                                            <li><a href="/biqu73070/36301173.html">第78章 逐渐接近了真相</a></li>
                                            <li><a href="/biqu73070/36301174.html">第79章 物竞天择,适者进化</a></li>
                                            <li><a href="/biqu73070/36301175.html">第80章 预言已经向我揭示了一切</a></li>
                                            <li><a href="/biqu73070/36301176.html">第81章 生气了</a></li>
                                            <li><a href="/biqu73070/36301177.html">第82章 来了,这次真的来了</a></li>
                                            <li><a href="/biqu73070/36301178.html">第83章 我附庸的附庸不是我的附庸</a></li>
                                            <li><a href="/biqu73070/36301179.html">第84章 都是豌豆射手的锅</a></li>
                                            <li><a href="/biqu73070/36301180.html">第85章 吞噬神性,夺取权柄</a></li>
                                            <li><a href="/biqu73070/36301181.html">第86章 雷神托尔已关注了你</a></li>
                                            <li><a href="/biqu73070/36301182.html">第87章 恐虐军团,专业大扫除</a></li>
                                            <li><a href="/biqu73070/36301183.html">第88章 该来的始终还是来了</a></li>
                                            <li><a href="/biqu73070/36301184.html">第89章 上架感言</a></li>
                                            <li><a href="/biqu73070/36301185.html">第90章 请假条!</a></li>
                                            <li><a href="/biqu73070/36301186.html">第91章 是你在偷看我么?</a></li>
                                            <li><a href="/biqu73070/36301187.html">第92章 诸神之间的算计</a></li>
                                            <li><a href="/biqu73070/36301188.html">第93章 海洋权“饼”,分而食之</a></li>
                                            <li><a href="/biqu73070/36301189.html">第94章 统一北海</a></li>
                                            <li><a href="/biqu73070/36301190.html">第95章 爆 爆水管了!</a></li>
                                            <li><a href="/biqu73070/36301191.html">第96章 请叫我水神</a></li>
                                            <li><a href="/biqu73070/36301192.html">第97章 加入光荣的进化吧!</a></li>
                                            <li><a href="/biqu73070/36301193.html">第98章 讨债的来了</a></li>
                                            <li><a href="/biqu73070/36301194.html">第99章 什么叫大国外交</a></li>
                                            <li><a href="/biqu73070/36301195.html">第100章 给外乡人一些小小的科技震撼</a></li>
                                            <li><a href="/biqu73070/36301196.html">第101章 开始进入高级战场</a></li>
                                            <li><a href="/biqu73070/36301197.html">第102章 少女勇闯欧陆,前进!</a></li>
                                            <li><a href="/biqu73070/36301198.html">第103章 让人不安的靠近</a></li>
                                            <li><a href="/biqu73070/36301199.html">第104章 谨防诈骗搭讪</a></li>
                                            <li><a href="/biqu73070/36301200.html">第105章 四分五裂的信仰</a></li>
                                            <li><a href="/biqu73070/36301201.html">第106章 你再说一遍你是谁?</a></li>
                                            <li><a href="/biqu73070/36301202.html">第107章 我踏马吃吃吃!</a></li>
                                            <li><a href="/biqu73070/36301203.html">第108章 以信徒为棋子的战争</a></li>
                                            <li><a href="/biqu73070/36301204.html">第109章 写书人和神经病</a></li>
                                            <li><a href="/biqu73070/36301205.html">第110章 路见不平的白发女侠</a></li>
                                            <li><a href="/biqu73070/36301206.html">第111章 各方的异动</a></li>
                                            <li><a href="/biqu73070/36301207.html">第112章 神王奥丁的半神血脉</a></li>
                                            <li><a href="/biqu73070/36301208.html">第113章 找上门来了</a></li>
                                            <li><a href="/biqu73070/36301209.html">第114章 原来是来上门送菜的</a></li>
                                            <li><a href="/biqu73070/36301210.html">第115章 菜已收,勿念</a></li>
                                            <li><a href="/biqu73070/36301211.html">第116章 神力指针模式</a></li>
                                            <li><a href="/biqu73070/36301212.html">第117章 新章节:旧日之子</a></li>
                                            <li><a href="/biqu73070/36301213.html">第118章 篝火狐鸣,打入内部</a></li>
                                            <li><a href="/biqu73070/36301214.html">第119章 大战前夜</a></li>
                                            <li><a href="/biqu73070/36301215.html">第120章 全家老少都带过来了</a></li>
                                            <li><a href="/biqu73070/36301216.html">第121章 比尔吉沃特之怒!</a></li>
                                            <li><a href="/biqu73070/36301217.html">第122章 成分复杂的深海泰坦</a></li>
                                            <li><a href="/biqu73070/36301218.html">第123章 两个家贼</a></li>
                                            <li><a href="/biqu73070/36301219.html">第124章 半神之夜,王神相见</a></li>
                                            <li><a href="/biqu73070/36301220.html">第125章 以身为剑,斩尽雨幕</a></li>
                                            <li><a href="/biqu73070/36301221.html">第126章 你别过来啊!</a></li>
                                            <li><a href="/biqu73070/36301222.html">第127章 糟糕!我吃错东西了!</a></li>
                                            <li><a href="/biqu73070/36301223.html">第128章 深海职场也需要背锅侠</a></li>
                                            <li><a href="/biqu73070/36301224.html">第129章 糟糕!吃错东西的我被吃掉了!</a></li>
                                            <li><a href="/biqu73070/36301225.html">第130章 无间道的说话艺术</a></li>
                                            <li><a href="/biqu73070/36301226.html">第131章 快把人忽悠瘸了</a></li>
                                            <li><a href="/biqu73070/36301227.html">第132章 开局一条鲲,是兄弟就来吞我</a></li>
                                            <li><a href="/biqu73070/36301228.html">第133章 似曾相识的名场面</a></li>
                                            <li><a href="/biqu73070/36301229.html">第134章 有些事永远都不会被遗忘</a></li>
                                            <li><a href="/biqu73070/36301230.html">第135章 大陆型海上移动堡垒</a></li>
                                            <li><a href="/biqu73070/36301231.html">第136章 带着大陆一起流浪</a></li>
                                            <li><a href="/biqu73070/36301232.html">第137章 坏了,我成替身了!</a></li>
                                            <li><a href="/biqu73070/36301233.html">第138章 史上最夸张的支援</a></li>
                                            <li><a href="/biqu73070/36301234.html">第139章 领域展开的魔鬼海域</a></li>
                                            <li><a href="/biqu73070/36301235.html">第140章 我要看到血流成河!</a></li>
                                            <li><a href="/biqu73070/36301236.html">第141章 船鲲,海鲲,你没玩过的全新版本!</a></li>
                                            <li><a href="/biqu73070/36301237.html">第142章 发动机喷射口:此面向敌</a></li>
                                            <li><a href="/biqu73070/36301238.html">第143章 这位更是重量级</a></li>
                                            <li><a href="/biqu73070/36301239.html">第144章 买一送二的神明惊喜大礼包</a></li>
                                            <li><a href="/biqu73070/36301240.html">第145章 死亡为谁而来?</a></li>
                                            <li><a href="/biqu73070/36301241.html">第146章 看好了,哥斯拉是这么打的</a></li>
                                            <li><a href="/biqu73070/36301242.html">第147章 不可改变的命运</a></li>
                                            <li><a href="/biqu73070/36301243.html">第148章 我们都是命运的奴隶</a></li>
                                            <li><a href="/biqu73070/36301244.html">第149章 幻影斧哥斯拉联动连招</a></li>
                                            <li><a href="/biqu73070/36301245.html">第150章 我们取得了辉煌的胜利</a></li>
                                            <li><a href="/biqu73070/36301246.html">第151章 但,代价是什么?</a></li>
                                            <li><a href="/biqu73070/36301247.html">第152章 内鬼开始行动了</a></li>
                                            <li><a href="/biqu73070/36301248.html">第153章 扎心了老铁</a></li>
                                            <li><a href="/biqu73070/36301249.html">第154章 父之仇,子之报</a></li>
                                            <li><a href="/biqu73070/36301250.html">第155章 汇聚死亡的超级模型</a></li>
                                            <li><a href="/biqu73070/36301251.html">第156章 苍天已死,黄天当立!</a></li>
                                            <li><a href="/biqu73070/36301252.html">第157章 十字路口的抉择</a></li>
                                            <li><a href="/biqu73070/36301253.html">第158章 泰因的选择是?</a></li>
                                            <li><a href="/biqu73070/36301254.html">第159章 拔剑</a></li>
                                            <li><a href="/biqu73070/36301255.html">第160章 泰因的答案</a></li>
                                            <li><a href="/biqu73070/36301256.html">第161章 破败王者的霜之哀伤</a></li>
                                            <li><a href="/biqu73070/36301257.html">第162章 深潜血族</a></li>
                                            <li><a href="/biqu73070/36301258.html">第163章 没事,我可以换一只手</a></li>
                                            <li><a href="/biqu73070/36301259.html">第164章 回应我吧,我的爱人!</a></li>
                                            <li><a href="/biqu73070/36301260.html">第165章 双神选,双权柄</a></li>
                                            <li><a href="/biqu73070/36301261.html">第166章 死亡的竞赛才刚刚开始</a></li>
                                            <li><a href="/biqu73070/36301262.html">第167章 谁是猪?猪是我?我是谁?</a></li>
                                            <li><a href="/biqu73070/36301263.html">第168章 谁还没点背景了</a></li>
                                            <li><a href="/biqu73070/36301264.html">第169章 预言者之梦</a></li>
                                            <li><a href="/biqu73070/36301265.html">第170章 修车?修车也算时间啊!</a></li>
                                            <li><a href="/biqu73070/36301266.html">第171章 狠人话不多</a></li>
                                            <li><a href="/biqu73070/36301267.html">第172章 你们惊扰了午夜军团</a></li>
                                            <li><a href="/biqu73070/36301268.html">第173章 来自侏罗纪的呼唤</a></li>
                                            <li><a href="/biqu73070/36301269.html">第174章 超凡神器也要吃我狗粮!</a></li>
                                            <li><a href="/biqu73070/36301270.html">第175章 我叫克拉肯,畏惧我吧!</a></li>
                                            <li><a href="/biqu73070/36301271.html">第176章 我叫拉莱耶,别吃掉我!</a></li>
                                            <li><a href="/biqu73070/36301272.html">第177章 晋升?升魔!</a></li>
                                            <li><a href="/biqu73070/36301273.html">第178章 只负责灌满,不负责吸收</a></li>
                                            <li><a href="/biqu73070/36301274.html">第179章 已经没有可以回去的家了</a></li>
                                            <li><a href="/biqu73070/36301275.html">第180章 拉莱耶的克拉肯之怒</a></li>
                                            <li><a href="/biqu73070/36301276.html">第181章 战火的开端</a></li>
                                            <li><a href="/biqu73070/36301277.html">第182章 您好,你可以叫我MOSS</a></li>
                                            <li><a href="/biqu73070/36420525.html">183.第183章 神明世界里的数字生命</a></li>
                                            <li><a href="/biqu73070/36420526.html">184.第184章 我人工智能信教了,这很合理吧</a></li>
                                            <li><a href="/biqu73070/36420527.html">185.第185章 大陆苦弱,机械飞升!</a></li>
                                            <li><a href="/biqu73070/36420528.html">186.第186章 数字生命,不忘初心</a></li>
                                            <li><a href="/biqu73070/36420529.html">187.第187章 圣战,我要看到圣战!</a></li>
                                            <li><a href="/biqu73070/36420530.html">188.第188章 小样,还能闹翻天不成?</a></li>
                                            <li><a href="/biqu73070/36420531.html">189.第189章 陌生眷族们的聚首</a></li>
                                            <li><a href="/biqu73070/36420532.html">190.第190章 小小雪伦担当大旗</a></li>
                                            <li><a href="/biqu73070/36448161.html">191.第191章 就是那种上人下马的半人马明白</a></li>
                                            <li><a href="/biqu73070/36448162.html">192.第192章 来自六千五百万年前的咆哮</a></li>
                                            <li><a href="/biqu73070/36448163.html">193.第193章 驯服死亡的骑士们</a></li>
                                            <li><a href="/biqu73070/36458931.html">194.第194章 敌人的敌人就是我的朋友</a></li>
                                            <li><a href="/biqu73070/36467527.html">195.第195章 海神们的最后挣扎</a></li>
                                            <li><a href="/biqu73070/36467528.html">196.第196章 美少女就应该用EX咖喱棒</a></li>
                                            <li><a href="/biqu73070/36493817.html">197.第197章 来自触手娘的呼唤</a></li>
                                            <li><a href="/biqu73070/36493818.html">198.第198章 舰娘,没错,我说的是舰娘</a></li>
                                            <li><a href="/biqu73070/36493819.html">199.第199章 舰娘漂移,技惊四座!</a></li>
                                            <li><a href="/biqu73070/36493820.html">200.第200章 海之死神穷途末路</a></li>
                  </div>
    <divclass="index-container"><a class="index-container-btn disabled-btn" href="javascript:void(0);">没有了</a><select id="indexselect" onchange="self.location.href=options.value"><option value="/biqu73070/" selected="selected">1 - 200章</option><option value="/biqu73070/2/">201 - 400章</option><option value="/biqu73070/3/">401 - 547章</option></select><a class="index-container-btn" href="/biqu73070/2/">下一页</a></div>

    </div>
                        <div class="clr"></div>
                                </dl>
                        </div>
   
    </section>

</div>
<div align="center"><p>相邻小说: <a href="https://www.22biqu.com/biqu73071/">离婚后我成了山神</a><a href="https://www.22biqu.com/biqu73072/">穿越永生从大心魔术开始</a><a href="https://www.22biqu.com/biqu73073/">凡人之造化长生</a><a href="https://www.22biqu.com/biqu73074/">四合院之惬意人生</a><a href="https://www.22biqu.com/biqu73075/">四合院之我的东北农家小院</a><a href="https://www.22biqu.com/biqu73076/">重回1981从退婚开始</a><a href="https://www.22biqu.com/biqu73077/">假面骑士极狐之双子星</a><a href="https://www.22biqu.com/biqu73078/">斗罗:觉醒堕落血天使,神挡杀神</a><a href="https://www.22biqu.com/biqu73079/">全民神祇:我被土著当成NPC?</a><a href="https://www.22biqu.com/biqu73080/">斗罗:悟性逆天,震惊比比东!</a> </p></div>
<script>
           (function () {
                                        var bp = document.createElement('script');
                                        var curProtocol = window.location.protocol.split(':');
                                        if (curProtocol === 'https') {
                                                bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
                                        }
                                        else {
                                                bp.src = 'http://push.zhanzhang.baidu.com/push.js';
                                        }
                                        var s = document.getElementsByTagName("script");
                                        s.parentNode.insertBefore(bp, s);
                                })();
</script>
<div class="footer" id="footer">
    <div class="pc-footer">
      <p>《箱子里的旧日》情节跌宕起伏、扣人心弦,是一本情节与文笔俱佳的玄幻魔法,笔趣阁转载收集箱子里的旧日最新章节。</p>
    </div>
</div>
<script>
function myFunction(){
        alert("加入收藏失败,请使用Ctrl+D进行添加,或手动在浏览器里进行设置!");
}
function myFunction1(){
        alert("浏览器不支持此操作, 请手动设为首页!");
}
</script>
<script src="/js/jquery.lazyload.min.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b1f1cdea3b4cf4604cb8940d5d2ce1a7";
var s = document.getElementsByTagName("script");
s.parentNode.insertBefore(hm, s);
})();
</script>
</body></html>
页: [1]
查看完整版本: 写了个笔趣阁爬书的小程序