吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1046|回复: 5
收起左侧

[学习记录] 刚学python 爬取某网小说,按分类爬

[复制链接]
ocpiww 发表于 2023-6-14 03:23
[Python] 纯文本查看 复制代码
import pinyin
import requests
import parsel
import os
import time

NOVEL_CLASS = {'穿越', '言情', '都市', '百合', '历史', '同人', '武侠', '玄幻', '惊悚', '科幻', '网游', '哲学', '资料'}

# 设置重试次数
max_retries = 3

# 设置延迟时间(单位:秒)
delay = 2


def start(type_name='穿越'):
    print(f"开始爬取{type_name}小说")
    os.mkdir(f"{type_name}小说")
    for index in range(1, 2):
        url = 'http://www.vbiquge.co/xclass/' + pinyin.get(type_name, format='strip', delimiter="") + '/' + str(index)
        req = requests.get(url=url)
        req.encoding = 'utf-8'
        selector = parsel.Selector(req.text)
        a_href_list = selector.css('#fengtui > div > div > div.bookinfo > h4 > a::attr(href)').getall()
        for a in a_href_list:
            url_c = 'http://www.vbiquge.co' + a
            retries = 0
            while retries < max_retries:
                try:
                    xiaoshuo = requests.get(url_c)
                    xiaoshuo.encoding = 'utf-8'
                    selector_2 = parsel.Selector(xiaoshuo.text)
                    # 获取下载TXT按钮
                    btn = selector_2.css(
                        'body > div.container > div.content > div:nth-child(2) > div.bookinfo > div > a:nth-child(3)::attr(href)').getall()
                    download_url = f'http://www.vbiquge.co{btn[0]}'
                    title = download_url.split('=')[-1] + '.txt'
                    download = requests.get(download_url).content
                    with open(f'{type_name}小说/{title}', mode='wb') as f:
                        f.write(download)
                    print(title, '下载完成')
                    # 请求成功,退出循环
                    break
                except requests.exceptions.ConnectionError:
                    print("连接错误,进行重试...")
                    retries += 1
                    time.sleep(delay)
            else:
                print("请求失败,达到最大重试次数。")


if __name__ == '__main__':
    type_name = input("请输入你要爬取的小说类型:")
    if type_name not in NOVEL_CLASS:
        print('类型错误')
    start(type_name)

免费评分

参与人数 1吾爱币 +1 收起 理由
T0T202303131200 + 1 谢谢@Thanks!

查看全部评分

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

吖力锅 发表于 2023-6-14 10:03
老铁学习了多久呢
 楼主| ocpiww 发表于 2023-6-14 13:06
吖力锅 发表于 2023-6-14 13:07
ocpiww 发表于 2023-6-14 13:06
没几天,我是跟gpt 学的

人工智能chatGPT?咋学的,我也是小白,。现在也是想学学
 楼主| ocpiww 发表于 2023-6-16 16:42
吖力锅 发表于 2023-6-14 13:07
人工智能chatGPT?咋学的,我也是小白,。现在也是想学学

你就问他就行了,多看看别人的,我也是自己摸索的
sk8820 发表于 2023-7-4 10:03
ocpiww 发表于 2023-6-16 16:42
你就问他就行了,多看看别人的,我也是自己摸索的

请问下,用的是哪个GPT,能不能告知一下?谢谢!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 22:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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