卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

笔趣阁小说搜索+txt下载Python爬虫

第三方库需求: Faker

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

使用方法:下载源码轻易运转即可。

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

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

# -*- coding: utf-8 -*- 
"""
Project Name: novel
Author: ARtcgb
Email:[email protected]
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("", "").replace("", "") 
        .replace("
", "n").replace("", "").replace("
", "")     with open("./小说/" + title + "/" + chapter + ".txt", "w") as f:         f.write(content)         print(chapter, "载入成功") print(title, "写入顺利")

卓越飞翔博客
上一篇: 微信小程序逆向解密/反编译视频教程
下一篇: 苹果cms模板放在哪个文件夹?
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏