登录  /  注册

介绍python60行代码写一个简单的笔趣阁爬虫

coldplay.xixi
发布: 2021-01-13 09:51:07
转载
2524人浏览过

介绍python60行代码写一个简单的笔趣阁爬虫

推荐(免费):Python视频教程

文章目录

  • 系列文章目录
  • 前言
  • 一、网页解析
  • 二、代码填写
    • 1.获取Html及写入方法
    • 2.其余代码
  • 总结

前言

利用python写一个简单的笔趣阁爬虫,根据输入的小说网址爬取整个小说并保存到txt文件。爬虫用到了BeautifulSoup库的select方法
结果如图所示:
在这里插入图片描述
本文只用于学习爬虫


一、网页解析

这里以斗罗大陆小说为例 网址:
http://www.biquge001.com/Book/2/2486/
在这里插入图片描述
可以发现每章的网页地址和章节名都放在了 中的a标签中,所以利用BeautfulSoup中的select方法可以得到网址和章节名

Tag = BeautifulSoup(getHtmlText(url), "html.parser") #这里的getHtmlText是自己写的获取html的方法urls = Tag.select("p #list dl dd a")
登录后复制

然后遍历列表

for url in urls:
    href = "http://www.biquge001.com/" + url['href']  # 字符串的拼接 拼接成正确的网址
    pageName = url.text  # 每章的章名
登录后复制

然后每章小说的内容都存放在

在这里插入图片描述
  substance = Tag.select("p #content")  # 文章的内容
登录后复制

最后同理在首页获取小说的名称

在这里插入图片描述

bookName = Tag.select("p #info h1")
登录后复制

二、代码填写

1.获取Html及写入方法

def getHtmlText(url):
    r = requests.get(url, headers=headers)
    r.encoding = r.apparent_encoding  # 编码转换
    r.raise_for_status()
    return r.textdef writeIntoTxt(filename, content):
    with open(filename, "w", encoding="utf-8") as f:
        f.write(content)
        f.close()
        print(filename + "已完成")
登录后复制

2.其余代码

代码如下(示例):

url = "http://www.biquge001.com/Book/2/2486/"substanceStr = ""bookName1 = ""html = getHtmlText(url)# 判断是否存在这个文件Tag = BeautifulSoup(getHtmlText(url), "html.parser")urls = Tag.select("p #list dl dd a")bookName = Tag.select("p #info h1")for i in bookName:
    bookName1 = i.textif not os.path.exists(bookName1):
    os.mkdir(bookName1)
    print(bookName1 + "创建完成")else:
    print("文件已创建")for url in urls:
    href = "http://www.biquge001.com/" + url['href']  # 字符串的拼接 拼接成正确的网址
    pageName = url.text  # 每章的章名
    path = bookName1 + "\\"  # 路径
    fileName = path + url.text + ".txt"  # 文件名 = 路径 + 章节名 + ".txt"
    Tag = BeautifulSoup(getHtmlText(href), "html.parser")  # 解析每张的网页
    substance = Tag.select("p #content")  # 文章的内容
    for i in substance:
        substanceStr = i.text
    writeIntoTxt(fileName, substanceStr)
    time.sleep(1)
登录后复制


总结

简单利用了BeautfulSoup的select方法对笔趣阁的网页进行了爬取           

更多相关学习敬请关注Python教程栏目!

以上就是介绍python60行代码写一个简单的笔趣阁爬虫的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号