吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11949|回复: 40
收起左侧

[Python 原创] 【Python】笔趣阁小说搜索+txt下载爬虫,无需额外操作

  [复制链接]
ARtcgb 发表于 2021-4-24 19:06

第三方库需求: Faker

安装方法:终端输入pip3 install faker
不安装将相关代码删除自行添加假UA也可使用。

使用方法:下载源码直接运行即可。

功能介绍:一键搜索+下载,下载的txt文件会自动查重,已经存在的不会重复下载浪费时间和存储空间。

文件下载位置:程序执行同目录下会自动创建小说文件夹,每次下载小说都会在里面添加一个以小说书名命名的文件夹,内容分章存储。

源代码

# -*- coding: utf-8 -*- 
"""
Project Name: novel
Author: ARtcgb
Email:artcgb@ebay.onmicrosoft.com
Date: 2021/4/24
"""
import os
import requests
from faker import Faker
from bs4 import BeautifulSoup

f = Faker()
headers = {'user-agent': f.user_agent()}

while True:
    search_url = "https://www.mibaoge.com/search.php?q=" + input("输入要查找的书名:")
    requests_url = requests.get(search_url, headers=headers)
    soup_url = BeautifulSoup(requests_url.text, "lxml")

    search_list = soup_url.find_all("a", cpos="title")
    if search_list:
        count = 1
        for soup in search_list:
            print(count, soup.text.replace("\n", ""))
            count += 1
        break
    else:
        print("未搜索到相关结果")

choose = int(input("请输入所选查找结果前面的数字:")) - 1
title = soup_url.find_all("a", cpos="title")[choose].text.replace("\n", "")
title_url = soup_url.find_all("a", cpos="title")[choose]["href"]

url = "https://www.mibaoge.com" + title_url
requests_url = requests.get(url, headers=headers)
soup_url = BeautifulSoup(requests_url.text, "lxml")

menu_list = soup_url.find("div", id="list").find_all("a")
url_list = []
chapter_list = []
for menu in menu_list:
    url_list.append(menu['href'])
    chapter_list.append(menu.text)

print("共找到", len(url_list), "个章节")

a = os.path.exists("./小说")
b = os.path.exists("./小说/" + title)
if a and b:
    print("文件夹已存在,PASS")
elif a:
    os.mkdir("./小说/" + title)
    print("文件夹建立成功")
else:
    os.mkdir("./小说")
    os.mkdir("./小说/" + title)
    print("文件夹建立成功")

url_count = 0
for url in url_list:
    a = os.path.exists("./小说/" + title + "/" + chapter_list[url_count] + ".txt")
    url_count += 1
    if a:
        try:
            print(chapter_list[url_count], "已存在,PASS")
        except IndexError:
            print("全部章节验证完毕")
        continue
    requests_url = requests.get("https://www.mibaoge.com/" + url, headers=headers)
    soup = BeautifulSoup(requests_url.text, "lxml")
    chapter = soup.find("h1").text
    content = str(soup.find("div", id="content")).replace("<!--go-->", "").replace("<!--over-->", "") \
        .replace("<br/>", "\n").replace("<div id=\"content\">", "").replace("</div>", "")
    with open("./小说/" + title + "/" + chapter + ".txt", "w") as f:
        f.write(content)
        print(chapter, "写入成功")
print(title, "写入成功")

免费评分

参与人数 2吾爱币 +3 热心值 +2 收起 理由
five-yang + 2 + 1 我很赞同!
wanfon + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

墨血 发表于 2021-4-24 19:52
这个是什么错误啊?楼主
1.png
墨血 发表于 2021-4-25 17:00
璐璐诺 发表于 2021-4-24 19:15
dbchjmdl 发表于 2021-4-24 19:29
学习代码
wanfon 发表于 2021-4-24 19:40
经常在笔趣阁在线看小说,大神威武
墨血 发表于 2021-4-24 19:48
[Python] 纯文本查看 复制代码
pip install faker
  File "<stdin>", line 1
    pip install faker
        ^
SyntaxError: invalid syntax
 楼主| ARtcgb 发表于 2021-4-24 19:49
墨血 发表于 2021-4-24 19:48
[mw_shl_code=python,true]pip install faker
  File "", line 1
    pip install faker

请自行网上搜索安装pip
墨血 发表于 2021-4-24 19:53
ARtcgb 发表于 2021-4-24 19:49
请自行网上搜索安装pip

这个装好了,哈哈哈
start_to_cr3ck 发表于 2021-4-24 20:17
墨血 发表于 2021-4-24 19:52
这个是什么错误啊?楼主

编码格式的问题,修改成utf8试试
cherrypi 发表于 2021-4-24 20:27
谢谢分享了,学习中。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表