热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Python爬虫实操】不创作小说,专精网站内容迁移,超高效!(含源代码)

本文详细介绍了如何利用Python爬虫技术实现高效网站内容迁移,涵盖前端、后端及Android相关知识点。通过具体实例和源代码,展示了如何精准抓取并迁移网站内容,适合对Python爬虫实战感兴趣的开发者参考。

本文主要介绍关于android,前端,后端的知识点,对【【Python爬虫实战】 不生产小说,只做网站的搬运工,太牛逼了~(附源码)】和【python爬虫实战教程】有兴趣的朋友可以看下由【m0_67391121】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的面试,学习路线,阿里巴巴相关技术问题。

python爬虫实战教程

前言

遇见你时,漫天星河皆为浮尘

不知从什么时候开始。小说开始掀起了一股浪潮,它让我们平日里的生活不在枯燥乏

味,很多我们做不到的事情在小说里都能轻易实现。

那么话不多说,下面我们就来具体看看它是如何实现的吧??

正文

这里以一部小说为例,将每一章的内容爬取下来保存到本地。

??是我们要爬的小说目录

爬取下来的数据:

分析网页拿数据

首先利用requests库的强大能力,向目标发起请求,拿到页面中的所有HTML数据。

url(https://www.biduo.cc/biquge/40_40847/)

需要注意的是:请求太多次很容易被反爬,最好在请求时带上请求头(模拟浏览器发请求),每个人

的浏览器的请求头都不同,不能直接使用我代码中的请求头,怎么获取自己的请求头可按如下图方

式拿到:

拿到所有HTML数据后,利用正则库结合xpath语法(可以自己去学一下XPath教程)从中抽取章名和

每一章的链接,如下图//*[@id=“list”]/dl/dd/a/text()和//*[@id=“list”]/dl/dd/a/@href即可拿到我们需

要的章节名称和对应的链接地址:

现在已经拿到我们需要的章节名称和对应每一章的链接地址了,这里得到的每一章的链接地址还不

是一个完整的url地址,分析地址栏可知目标url(https://www.biduo.cc/biquge/40_40847/)与每一

章的链接地址拼接,即可得到我们最终所需的URL。

# 2. 请求文章拿到HTML数据,抽取文章内容并保存

得到最终URL后,层层递进,相同的方法:向最终的URL地址发起请求得到小说内容页的所有

HTML数据,再从中抽取我们需要的小说文字内容,并保存到本地以我们抽取到的章名来命名文

件:

# 2. 请求文章拿到HTML数据,抽取文章内容并保存

效果展示——

代码展示——

import requests
from lxml import etree

url = "https://www.biduo.cc/biquge/40_40847/"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'
}

class Spider(object):
    def detail_request(self):
        # 1. 请求目录拿到HTML数据,抽取章名、章链接
        respOnse= requests.get(url,headers=headers)
        # print(response.content.decode('gbk'))
        html = etree.HTML(response.content.decode('gbk'))  # 整理文档对象
        # print(html)
        tit_list = html.xpath('//*[@id="list"]/dl/dd/a/text()')
        url_list = html.xpath('//*[@id="list"]/dl/dd/a/@href')
        print(tit_list,url_list)
        for tit, src in zip(tit_list, url_list):
            self.content_request(tit, src)

    def content_request(self, tit, src):
        # 2. 请求文章拿到HTML数据,抽取文章内容并保存
        respOnse= requests.get(url + src,headers=headers)
        html = etree.HTML(response.content.decode('gbk'))  # 整理文档对象
        cOntent= "
".join(html.xpath('//*[@id="content"]/text()'))
        file_name = tit + ".txt"
        print("正在保存文件:{}".format(file_name))
        with open(file_name, "a", encoding="utf-8") as f:
            f.write(content)

spider = Spider()
spider.detail_request()
总结

好啦!文章到这里就正式结束,比起听歌我还是更喜欢看小说的啦!

大家喜欢什么项目可以评论区留言哦~

有问题或者需要视频学习的可以找我沟通哈??

完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~ ??往期推荐阅读——

项目0.1【Python爬虫系列】Python爬虫入门并不难,甚至入门也很简单(引言)项目0.2

项目0.3?Python爬虫入门推荐案例:学会爬虫_表情包手到擒来~

项目0.4【Tkinter界面化小程序】用Python做一款免费音乐下载器、无广告无弹窗、清爽超流畅哦

项目0.5【Python爬虫系列】浅尝一下爬虫40例实战教程+源代码【基础+进阶】

项目0.6【Python爬虫实战】使用Selenium爬某音乐歌曲及评论信息啦~

??文章汇总——

Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)

本文《【Python爬虫实战】 不生产小说,只做网站的搬运工,太牛逼了~(附源码)》版权归m0_67391121所有,引用【Python爬虫实战】 不生产小说,只做网站的搬运工,太牛逼了~(附源码)需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • voc生成xml 代码
    目录 lxmlwindows安装 读取示例 可视化 生成示例 上面是代码,下面有调用示例 api调用代码,其实只有几行:这个生成代码也很简 ... [详细]
  • 可转债数据智能抓取与分析平台优化
    本项目旨在优化可转债数据的智能抓取与分析平台。通过爬取集思录上的可转债信息(排除已发布赎回的债券),并结合安道全教授提出的三条安全线投资策略,新增了建仓线、加仓线和重仓线,以提供更精准的投资建议。 ... [详细]
  • 本文深入探讨了 Python Watchdog 库的使用方法和应用场景。通过详细的代码示例,展示了如何利用 Watchdog 监控文件系统的变化,包括文件的创建、修改和删除等操作。文章不仅介绍了 Watchdog 的基本功能,还探讨了其在实际项目中的高级应用,如日志监控和自动化任务触发。读者将能够全面了解 Watchdog 的工作原理及其在不同场景下的应用技巧。 ... [详细]
  • 在本文中,我们将探讨如何使用 UniApp 封装小程序 API 请求接口的最佳实践。通过创建 `request.js` 文件,定义基础 URL 并传入后端提供的 URL 作为请求参数。同时,配置请求方法(如 GET、POST)和请求头(例如包含 token 的认证信息),以实现高效、安全的 API 调用。此外,我们还将介绍如何处理请求和响应的错误,以及如何优化请求性能,确保应用在不同平台上的兼容性和稳定性。 ... [详细]
  • 在 Python 中,魔法方法 `__dict__` 和 `__getattr__` 具有重要的作用和灵活的应用。`__dict__` 是一个用于存储对象属性的字典,其中键为属性名,值为对应的属性值。通过 `__dict__`,可以动态地访问和修改对象的属性。而 `__getattr__` 方法则在尝试访问对象中不存在的属性时被调用,提供了一种优雅的处理方式,避免了属性访问错误。这两个魔法方法在实现复杂的数据结构和动态行为时尤为有用。 ... [详细]
  • 在第七天的深度学习课程中,我们将重点探讨DGL框架的高级应用,特别是在官方文档指导下进行数据集的下载与预处理。通过详细的步骤说明和实用技巧,帮助读者高效地构建和优化图神经网络的数据管道。此外,我们还将介绍如何利用DGL提供的模块化工具,实现数据的快速加载和预处理,以提升模型训练的效率和准确性。 ... [详细]
  • 探讨 `org.openide.windows.TopComponent.componentOpened()` 方法的应用及其代码实例分析 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 本文介绍了一种简化版的在线购物车系统,重点探讨了用户登录和购物流程的设计与实现。该系统通过优化界面交互和后端逻辑,提升了用户体验和操作便捷性。具体实现了用户注册、登录验证、商品浏览、加入购物车以及订单提交等功能,旨在为用户提供高效、流畅的购物体验。 ... [详细]
  • 使用 XlsxWriter 模块在 Python 中实现 Excel 单元格内多种格式文本的高效写入
    XlsxWriter 是一个强大的 Python 库,专门用于生成 `.xlsx` 格式的 Excel 文件。该模块不仅支持基本的数据写入,还提供了丰富的格式化选项,能够实现单元格内多种文本样式的高效处理。无论是字体、颜色、对齐方式还是边框,XlsxWriter 都能轻松应对,满足用户在 Excel 视图中的各种需求。 ... [详细]
  • 本文深入探讨了NDK与JNI技术在实际项目中的应用及其学习路径。通过分析工程目录结构和关键代码示例,详细介绍了如何在Android开发中高效利用NDK和JNI,实现高性能计算和跨平台功能。同时,文章还提供了从基础概念到高级实践的系统学习指南,帮助开发者快速掌握这些关键技术。 ... [详细]
  • 深入学习 Python 中的 xlrd 模块:掌握 Excel 文件读取技巧
    本文深入探讨了 Python 中的 xlrd 模块,重点介绍了如何高效读取 Excel 文件(包括 xlsx 和 xls 格式)。同时,文章还详细讲解了 xlwt 模块在 Excel 文件写操作中的应用。此外,文中列举了常见单元格数据类型及其处理方法,为读者提供了全面的实践指导。 ... [详细]
  • 利用GDAL库在Python中高效读取与处理栅格数据的详细指南 ... [详细]
  • 本文探讨了如何使用Xutils3框架实现JSON数据在服务器端的传输与接收解析。通过构建JSON对象并添加所需参数,如 `person.put("pc", 2.0)`,详细介绍了从客户端发送请求到服务器接收并解析JSON数据的完整流程。此外,还提供了优化建议,以提高数据传输的效率和安全性。 ... [详细]
  • MySQL日志分析在应急响应中的应用与优化策略
    在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ... [详细]
author-avatar
sdfasdfqg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有