Python—爬取小说案例(bs4方法)

2023-11-13

一、源码:

import requests
from bs4 import  BeautifulSoup
#UA伪装
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
}
url='这里自己输入你的url(因版权原因)'
page_text=requests.get(url=url,headers=headers).content

# 1.实例化一个BeautifulSoup对象,并且将页面源码加载到该对象中
soup=BeautifulSoup(page_text,'lxml')

# 2.通过调用BeautifulSoup对象相关的属性或者方法进行标签定位和数据提取
#解析章节标题和详情页的url
li_list=soup.select('.sidamingzhu-list-mulu>ul>li')

fp=open('./sanguo.txt','w',encoding='utf-8')
for li in li_list:
    #章节标题
    title=li.a.string
    #章节url
    detail_url=li.a['href']
    #对详情页发起请求,解析章节内容
    detail_page_text=requests.get(url=detail_url,headers=headers).content
    detail_soup=BeautifulSoup(detail_page_text,'lxml')
    div_tag=detail_soup.find('div',class_='grap')
    #解析到章节内容
    content=div_tag.text
    fp.write(title+':'+content)
    print(title,'爬取成功!!!')

二、示例图片

三、bs4数据解析过程:

01、章节标题

代码解析数据:

#解析章节标题和详情页的url
li_list=soup.select('.sidamingzhu-list-mulu>ul>li')


#获取逐个章节标题与url
for li in li_list:
    #章节标题
    title=li.a.string
    #章节url
    detail_url=li.a['href']

 

02、章节内容

 代码解析数据:

#对详情页发起请求
detail_page_text=requests.get(url=detail_url,headers=headers).content

#实例化详情页对象
detail_soup=BeautifulSoup(detail_page_text,'lxml')

#解析章节内容
div_tag=detail_soup.find('div',class_='grap')

#解析到章节内容,写入文件
content=div_tag.text
fp.write(title+':'+content)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python—爬取小说案例(bs4方法) 的相关文章

随机推荐

  • python均值插补法填补缺失值_python数据分析:缺失值处理

    我们拿到的原始数据通常都是一团糟的 缺失值尤其常见 自己在做论文的时候也常常被缺失数据困扰 所以打算写一些如何用python进行缺失值的处理 首先需要大家注意的是 数据的清理很枯燥 但是很重要 根据IBM的研究 数据科学家80 的时间都在做
  • vue+element锚点跳转+自动感应导航栏

    最近来个需求 要做一个页面 每个模块都是百分百全屏且右侧有个导航栏能自动感应在哪个模块 点击也能直接跳转到该锚点 其实难点也就那几个 慢慢捋一下就好 话不多说上代码 1 锚点跳转且点击哪个会模块右侧导航栏就会高亮 我这个导航栏是因为未来增加
  • 警惕免杀版Gh0st木马!

    https github com SecurityNo1 Gh0st2023 经过调查发现 这款开源的高度免杀版Gh0st木马目前正在大范围传播 据称可免杀多种主流杀软 开发者不仅制作了新颖的下载页面 还设法增加了搜索引擎的收录权重 吸引了
  • 【机器学习】14、sklearn

    文章目录 一 机器学习概览 二 分类 2 1 二分类器 2 多分类器 2 3 误差分析 三 训练模型 3 1 线性回归和逻辑回归 3 2 逻辑回归 3 3 softmax回归 练习题4 四 SVM 练习题5 五 决策树 练习题6 六 集成学
  • 微信小程序嵌套的H5使用小程序分享(分享微信好友或朋友圈)

    需求说明 嵌套在微信小程序中的H5想要使用小程序自带分享功能 分享H5的页面给微信好友或朋友圈 实现原理 H5中可使用wx miniProgram postMessage向小程序的webview发送消息 会触发组件的message事件 在小
  • kvm-ovirt-vdsm安装记录

    小技巧 1 fedaro 19自动查找最快yum源 yum install yum fastestmirror 2 libvirt启动sasl添加用户 saslpasswd2 c a libvirt admin 3 查看kvm模块 lsmo
  • 第十三届蓝桥杯A组Python组心得分享

    第一次写心得类的文章 趁着假期有时间 记录一下在准备这个比赛间的一些心得和一些问题的思路 前面是碎碎念 直接看问题解决思路的可以跳到后面 先说情况 省一 小题对了第一个 大题写出来了五个 不确定是否全部AC 认真准备这个比赛的时间不超过一周
  • 【今日CV 计算机视觉论文速览】Wed, 13 Mar 2019

    今日CS CV计算机视觉论文速览 Wed 13 Mar 2019 Totally 25 papers Interesting 自动医学图像分析 主要就x光乳腺癌检测 胸片CT肺结合检测 脑部颈部病变检测等方面展开研究 并阐述了如何生成数据
  • iOS左对齐自动换行collection样式

    前言 想必大家工作中或多或少会遇到下图样式的UI需求吧 像这种cell长度不固定 以此向右对齐排列的样式UI可以说是很常见的 实现方式 一般的实现可能主要是分一下两种 1 一种是用button依次排列实现 动态计算text宽度 记录之前一个
  • Ruby on Rails emoji表情通过json返回

    原因 大概意思是 emoji表情是5位字符 而to json as json最多支持4个字符 导致返回的emoji不完整 客户端就不会识别 导致乱码 解决方法 在config initializers文件夹下新建patches rb 文件
  • 【项目复盘React】react封装动态组件+组件懒加载(hook版)

    使用到的hook useContext 使用到的api lazy React 1 在utils文件夹下新建文件夹testContext 2 新建文件PersonContext js 导出一个Context对象实例 import React
  • 射频原理图设计checklist

    射频原理图设计checklist 持续更新 文章目录 射频原理图设计checklist 1 WiFi GPS测试兼容 2 SAR SENSER 的GPIO控制和电源供电需常开 3 射频收发器与基带芯片之间的IQ连接线需参考平台推荐 4 主集
  • WEB靶场系类搭建

    环境 windwos centos ubuntu DVWA 1 进 phpmyadmin创建dvwa数据库 2 修改配置文件 3 输入127 0 0 1 dvwa 安装 pikachu 1 直接修改配置文件 2 127 0 0 1 pika
  • js实现瀑布流布局

    实现思路是 收集列表元素数组 每列定宽不定高 列表元素全部相对于容器元素绝对定位 根据容器可视宽度计算每行的元素盛放个数 根据盛放个数先处理第一行 依次排列在第一行 处理后续元素 维护一个每列当前高度的数组 对于后续行的元素 依次往当前最低
  • 每日一库之Go 强大而灵活的电子邮件库:email

    发送邮件是一个很常见的需求 用户邮箱验证 邮箱召回等 Go 语言标准库自带 net smtp 库 实现了 smtp 协议 用于发送邮件 然而这个库比较原始 使用不方便 而且官方声明不再增加新功能 于是乎出现了一些强大的第三方邮件库 今天推荐
  • PSD 格式文件除了 PS ,还能用什么软件打开?

    有人问 除了 Photoshop 还有哪些软件能打开 PSD 格式文件呢 当我看到这个问题时 我立刻理解了他的烦恼 因为有段时间 我的电脑里没有安装 Photoshop 但有一次 我的同事发了一个 PSD 文件给我 我却无法联系到他 我急需
  • linux(centos7) 查看剩余磁盘空间大小

    df hl 查看磁盘剩余空间 df h 查看每个根路径的分区大小 du sh 目录名 返回该目录的大小 du sm 文件夹 返回该文件夹总M数 du h 目录名 查看指定文件夹下的所有文件大小 包含子文件夹 查看硬盘的分区 sudo fdi
  • 非方阵点乘算法

    非方阵点乘算法 基于 lt 算法4 gt 中的P12矩阵相乘 方阵 探索非方阵点乘 线代基础 能够点乘的矩阵 一定满足 前行 后列 算法思考 解决矩阵运算问题 切勿凭空想象 应脚踏实地 举个简单例子写在草稿纸上 并观察 各矩阵下标变化规律
  • git clone 失败或速度慢

    总之就是加代理yyds 具体做法 在github网址前面加上前缀 https ghproxy com 即可 git clone https ghproxy com https github com xxx git
  • Python—爬取小说案例(bs4方法)

    一 源码 import requests from bs4 import BeautifulSoup UA伪装 headers User Agent Mozilla 5 0 Windows NT 10 0 Win64 x64 AppleWe