您现在的位置是:首页 > 正文

python 爬虫爬小说

2024-02-29 11:17:42阅读 0

https://blog.csdn.net/c406495762/article/details/78123502

# -*- coding:UTF-8 -*-
import requests
import sys
from bs4 import BeautifulSoup

if __name__ == '__main__':

    head_url = 'https://www.biqukan.com'
    url = 'https://www.biqukan.com/1_1094/'
    res = requests.get(url=url)
    res.encoding = 'gbk'
    bf = BeautifulSoup(res.text, features="html.parser")
    div = bf.find_all('div', class_='listmain')
    bf_a = BeautifulSoup(str(div[0]))
    a = bf_a.find_all('a')
    i = 0
    si = len(a[13:])
    print("开始下载:")
    for each in a[13:]:
        target = head_url + each.get('href')
        respons = requests.get(url=target)
        respons.encoding = 'gbk'
        bfs = BeautifulSoup(respons.text, features="html.parser")
        texts = bfs.find_all('div', class_='showtxt')
        with open("一念永恒.txt", mode='a', encoding='utf-8') as f:
            f.write('\n\n'+each.string+'\n')
            f.write(texts[0].text.replace('\xa0'*8, '\n'))
            f.close()
        with open("mulu.txt", mode='a', encoding='utf-8') as ff:
            ff.write(each.string+'\n')
            ff.close()
        sys.stdout.write("   已下载:%.3f%%" % float(i / si) + '\r')
        sys.stdout.flush()
        i = i + 1
        if i == si:
            break
    print("下载完成")
    '''
    url = 'http://www.biqukan.com/1_1094/5403177.html'
    res = requests.get(url=url)
    res.encoding = 'gbk'
    html = res.text
    bf = BeautifulSoup(html, features="html.parser")
    texts = bf.find_all('div', class_='showtxt')
    bfs = BeautifulSoup(str(texts[0]), features="html.parser")
    tex = bfs.find_all('br')

    with open("mytxt.txt", mode='w') as f:
        for each in tex:
            print(each)
            #f.write(each.replace('\xa0' * 8, '\n').string)
        #f.close()
    '''




 

 

网站文章

  • js中的this机制

    概念this是函数 ( 运行时,即指的是被调用时 )的上下文, 指向调用它的 (最近的上下文)。绑定规则函数绑定new绑定箭头函数绑定1.函数调用JS(ES5)里面有三种函数调用形式: func(p1, p2) obj.child.method(p1, p2) func.call(context, p1, p2) // 先不讲 apply复制代码一般,初学者都知...

    2024-02-29 11:17:33
  • 【css实现table斜线表头】

    【css实现table斜线表头】

    【css实现table斜线表头】

    2024-02-29 11:17:03
  • Laravel + Laravel-admin 搭建网站后台

    Laravel + Laravel-admin 搭建网站后台

    本地环境: laravel版本: laravel-admin版本: laravel-admin优秀扩展包!! 一、安装配置Laravel6.11.0 1.安装 composer create-project --prefer-dist laravel/laravel blog 2.改时区 'timezone' => 'PRC' 3.改语言 ...

    2024-02-29 11:16:55
  • WebSocketConfigurationSupport$NoOpScheduler.schedule

    项目中使用了WebSocket进行消息的推送,同时又使用了定时器Scheduled进行定时执行操作,这两者同时使用抛出异常。java.lang.IllegalStateException: Unexp...

    2024-02-29 11:16:48
  • android中的TextView组件,Android控件之TextView全解析

    android中的TextView组件,Android控件之TextView全解析

    前言大家好!在前几篇文章里,我们详细介绍了Android中的常用布局,使大家对Android中的页面布局有了一定认识,而对于布局中使用的一些UI控件如Button、TextView等,有的读者可能还存...

    2024-02-29 11:16:19
  • .NET 面试题 - 初级&中级

    初级.NET开发人员 - 任何使用.NET的人都应知道的 1. 描述线程与进程的区别? 进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。进程可以定义程序的...

    2024-02-29 11:16:10
  • Mysql基础 — DDL、DML、DQL、DCL、函数、约束

    Mysql基础 — DDL、DML、DQL、DCL、函数、约束

    编号(纯数字)员工工号 (字符串类型,长度不超过10位)员工姓名(字符串类型,长度不超过10位)性别(男/女,存储一个汉字)年龄(正常人年龄,不可能存储负数)身份证号(二代身份证号均为18位,身份证中有X这样的字符)入职时间(取值年月日即可)

    2024-02-29 11:16:04
  • el-table 鼠标悬浮时背景色改变

    el-table 鼠标悬浮时背景色改变

    el-table 鼠标悬浮时改变背景色

    2024-02-29 11:15:30
  • 《张居正》—— 读后总结

    《张居正》—— 读后总结

    2019独角兽企业重金招聘Python工程师标准>>> ...

    2024-02-29 11:15:23
  • 计算机毕业设计选题推荐-学生宿舍管理微信小程序/安卓APP

    计算机毕业设计选题推荐-学生宿舍管理微信小程序/安卓APP

    随着信息技术的迅速发展,学生宿舍管理逐渐转向数字化和信息化。传统的管理方式存在许多弊端,例如:信息不透明、管理效率低下、学生满意度低等。因此,开发一款新型的学生宿舍管理微信小程序/安卓APP,具有重要...

    2024-02-29 11:15:17