python 小说下载

import requests   # 访问链接
import re   # 正则
print(
    '建议进入此网搜索:https://www.xs386.com/\n'
    '例如完整的链接是:https://www.xs386.com/26010/17168270.html\n'
    '第二个参数输入:70---这里意思是第一章参数是从70开始\n'
    '第三个参数输入:80---这里意思是看到第十章后面接的数字是80\n'
    '第四个参数输入:1---这里意思是每跳一张他链接数变化是递增1\n'
    '第五个参数输入保存路径:\n'
    '例如:E:/吞空/\n'
)
int_httml = input("请输入你要访问的网页:")
int_shu1 = input('请输入开始参数:')
int_shu2 = input('请输入停止参数:')
int_shu3 = input('请输入递增参数:')
int_open = input('请输入保存的路径:')
# 获取到的内容
def INTHTTP(url, heads):
    try:
        r = requests.get(url, headers=heads)   # 访问他的网页  GET  POST
        r.encoding = r.apparent_encoding   # 获取的解码形式
        ztm = r.status_code   # 返回的状态码 200为真
        nr = r.text  # 返回的内容
        return nr
        # 获取的nr内容  返回
    except:
        return ''
from bs4 import BeautifulSoup   # 解析
# 将内容进行一个解析并且使用CSS选择器进行筛选
def INT_BeautifulSoup(nr):
    try:
        web = BeautifulSoup(nr, features='html.parser')  # 解析h5格式
        # 获取解析的内容
        sx_nr = web.select('.box_con > div#content')
        #sx_nr= web.select('.box_con > div.bookname') # 使用select  选择器进行筛选
        return sx_nr
    except:    # 如果运行的程序不符合 返回空值
        return ''
def INT_BeautifulSoup1(nr):
    try:
        web = BeautifulSoup(nr, features='html.parser')
        # 获取解析的内容
        sx_nr = web.select('.box_con > div.bookname > h1')   # 使用select  选择器进行筛选
        for i in sx_nr:
            h1 = i.text
            return h1
    except:    # 如果运行的程序不符合 返回空值
        return ''
# 运行的主程序
def main():
    heads = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
    }
    p = 0
    for k in range(int(int_shu1), int(int_shu2), int(int_shu3)):
        url = f'{int_httml}{k}.html'
        open_read = INTHTTP(url, heads)
        fanhui1 = INT_BeautifulSoup1(open_read)
        fanhui = INT_BeautifulSoup(open_read)
        print(fanhui1)
       # [<h1> 第一章 罗峰</h1>]
        for i in fanhui:
            i1 = i.text
            s = re.sub(' ', '' , i1)
            s1 = re.sub('\n', '', s)
            with open(f'{int_open}{fanhui1}.txt', 'w', encoding='utf-8')as open_1:
                open_1.write(s1)
if __name__ == '__main__':
    main()

相关推荐

  1. python 小说下载

    2024-01-19 12:24:01       33 阅读
  2. Python爬虫下载小说

    2024-01-19 12:24:01       34 阅读
  3. Python爬虫-批量爬取免费小说下载保存到本地

    2024-01-19 12:24:01       64 阅读
  4. 利用python抓取小说,爬虫抓取小说

    2024-01-19 12:24:01       12 阅读
  5. Python爬取小说

    2024-01-19 12:24:01       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-19 12:24:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-19 12:24:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-19 12:24:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-19 12:24:01       20 阅读

热门阅读

  1. 绿色科技投资:可持续发展的财经新趋势

    2024-01-19 12:24:01       39 阅读
  2. Qt实现在5种情况下快速求最值

    2024-01-19 12:24:01       33 阅读
  3. 【备战蓝桥杯】图的遍历问题

    2024-01-19 12:24:01       30 阅读
  4. 为什么要设计双亲委派机制

    2024-01-19 12:24:01       34 阅读