您的位置是:网站首页>Python编程Python编程

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

少儿编程网2021-01-13 13:18:39Python编程 人已围观 来源:少儿编程 -用户投稿

简介推荐(免费):Python视频教程文章目录系列文章目录前言一、网页解析二、代码填写1.获取Html及写入方法2.其余代码总结前言利用python写一个简单的笔趣阁爬虫,根据输入的小说网址爬取整个小说并保存到txt文件。爬虫用到了BeautifulSoup库的select方法结果如图所示:本文只用于学

j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

推荐(免费):python视频教程j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

文章目录j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

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

前言j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

利用python写一个简单的笔趣阁爬虫,根据输入的小说网址爬取整个小说并保存到txt文件。爬虫用到了BeautifulSoup库的select方法
结果如图所示:

本文只用于学习爬虫j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台


j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

一、网页解析j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

这里以斗罗大陆小说为例 网址:
http://www.biquge001.com/Book/2/2486/

可以发现每章的网页地址和章节名都放在了 <"p id=list dl dd a>中的a标签中,所以利用BeautfulSoup中的select方法可以得到网址和章节名j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

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

然后遍历列表j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

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

然后每章小说的内容都存放在<p id=“content” 里 同理得
j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

  substance = Tag.select("p #content")  # 文章的内容

**后同理在首页获取小说的名称
<"p id = info h1>j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

bookName = Tag.select("p #info h1")

j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

二、代码填写j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

1.获取Html及写入方法j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

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.其余代码j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

代码如下(示例):j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

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)

j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台


总结j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

简单利用了BeautfulSoup的select方法对笔趣阁的网页进行了爬取 j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

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

以上就是介绍python60行代码写一个简单的笔趣阁爬虫的详细内容,更多请关注少儿编程网其它相关文章!j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

来源:php中文网j27少儿编程网-Scratch_Python_教程_免费儿童编程学习平台


相关文章:

支持一下 ( )

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

      匿名评论
    • 评论
    人参与,条评论
    介绍python60行代码写一个简单的笔趣阁爬虫

微信公众号

免费视频教程

先知道