Python爬虫康复训练——笔趣阁《神魂至尊》

还是话不多说,很久没写爬虫了,来个bs4康复训练爬虫,正好我最近在看《神魂至尊》,爬个txt文件下来看看

直接上代码

python 复制代码
"""
神魂至尊网址-https://www.bqgui.cc/book/1519/
"""
import requests
from bs4 import BeautifulSoup
import os

A=[]#存储章节标题
B=[]#存储章节链接
url='https://www.bqgui.cc/book/1519/'
header={
    'Referer':'https://www.bqgui.cc/s?q=%E7%A5%9E%E9%AD%82%E8%87%B3%E5%B0%8A',
    'Cookie':'Hm_lvt_52624d0257fe48ed9dea61ff01fa3417=1720163550; HMACCOUNT=79B595C42B32BA19; hm=9a7ca0f0fe759c15c8c93eed6eb59f86; Hm_lpvt_52624d0257fe48ed9dea61ff01fa3417=1720163795',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0'
}
reponse = requests.get(url,headers=header)
#print(reponse.text)
html = BeautifulSoup(reponse.text,'lxml')
htmls = html.select('div.listmain dl dd a')
for a in htmls:
    # 检查a的文本内容中是否包含特定字符串
    if '<<---展开全部章节--->>' not in a.text:
        # 如果不包含,则添加到列表A和B中
        A.append(a.text)
        B.append('https://www.bqgui.cc/' + a['href'])
for j in B:
    urls =j
    headers={
        'Cookie':'Hm_lvt_52624d0257fe48ed9dea61ff01fa3417=1720163550; HMACCOUNT=79B595C42B32BA19; hm=9a7ca0f0fe759c15c8c93eed6eb59f86; Hm_lpvt_52624d0257fe48ed9dea61ff01fa3417=1720164854',
        'Referer':'https://www.bqgui.cc/book/1519/',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0'
    }
    reponses = requests.get(urls,headers=headers)
    lxml = BeautifulSoup(reponses.text,'lxml')
    lxmls = lxml.select('div.Readarea.ReadAjax_content')
    for k in lxmls:
        #print(k.text)
        for l in A:
            directory = '神魂至尊'
            if not os.path.exists(directory):
                os.makedirs(directory)
            with open(f'{'神魂至尊'}/{l}','a')as f:
                f.write(k.text + '\n')

效果图

相关推荐
专注VB编程开发20年几秒前
Delphi 的VCL控件库无法公开给其他编程语言调用
开发语言·delphi
charlie1145141912 分钟前
现代Qt开发——0.1——如何在IDE中配置Qt环境?
开发语言·c++·ide·qt·嵌入式
游乐码2 分钟前
c#StringBuilder
开发语言·c#
五阿哥永琪3 分钟前
record只读类
java·开发语言
MarkHD3 分钟前
从“能跑”到“好用”:Python脚本监控与告警实战(邮件/钉钉/企业微信)
python·钉钉·企业微信
枫叶丹45 分钟前
【HarmonyOS 6.0】窗口能力增强:PC/2in1与自由多窗模式的深度解析
开发语言·华为·harmonyos
AI科技星5 分钟前
基于三维空间合速度恒为光速公理的统一动力学与热力学理论:温度本质的第一性原理诠释与物质全物态实验验证
开发语言·线性代数·机器学习·计算机视觉·数学建模
Dovis(誓平步青云)7 分钟前
《QT学习第二篇:QT的常用控件属性与按钮、view系列、Label、输入框》
开发语言·qt·学习
胖咕噜的稞达鸭9 分钟前
C/C++动态内存管理,malloc,calloc,realloc的区别,动态内存中的错误汇总
c语言·开发语言·c++
charlie1145141919 分钟前
嵌入式C++教程实战之Linux下的单片机编程(6):从点亮第一盏LED开始 —— 我们为什么要用现代C++写STM32
linux·c语言·开发语言·c++·stm32·单片机