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

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

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

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

文章目录

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

前言

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


本文只用于学习爬虫


一、网页解析

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


可以发现每章的网页地址和章节名都放在了 <"p ID=List dl dd a>中的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  # 每章的章名

然后每章小说的内容都存放在<p ID=“content” 里 同理得

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

最后同理在首页获取小说的名称
<"p ID = info h1>

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行代码写一个简单的笔趣阁爬虫全部内容,希望文章能够帮你解决介绍python60行代码写一个简单的笔趣阁爬虫所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1184044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存