本文摘自php中文网,作者coldplay.xixi,侵删。

推荐(免费):Python视频教程
文章目录
前言
利用python写一个简单的笔趣阁爬虫,根据输入的小说网址爬取整个小说并保存到txt文件。爬虫用到了BeautifulSoup库的select方法
结果如图所示:

本文只用于学习爬虫
一、网页解析
这里以斗罗大陆小说为例 网址:
http://www.biquge001.com/Book/2/2486/

可以发现每章的网页地址和章节名都放在了 <"p id=list dl dd a>中的a标签中,所以利用BeautfulSoup中的select方法可以得到网址和章节名
1 | Tag = BeautifulSoup(getHtmlText(url), "html.parser" ) #这里的getHtmlText是自己写的获取html的方法urls = Tag.select( "p #list dl dd a" )
|
然后遍历列表
1 2 3 | for url in urls:
href = "http://www.biquge001.com/" + url[ 'href' ] # 字符串的拼接 拼接成正确的网址
pageName = url.text # 每章的章名
|
然后每章小说的内容都存放在<p id=“content” 里 同理得

1 | substance = Tag.select( "p #content" ) # 文章的内容
|
最后同理在首页获取小说的名称
<"p id = info h1>

1 | bookName = Tag.select( "p #info h1" )
|
二、代码填写
1.获取Html及写入方法
1 2 3 4 5 6 7 8 9 | 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.其余代码
代码如下(示例):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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行代码写一个简单的笔趣阁爬虫的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python中登录模块的详细介绍
Python self什么意思
Python3库numpy数组属性的查看方法
Python中lambda函数的用法介绍(附示例)
Python中的输入与输出是什么?(实例详解)
Python怎么转化为字符串
Python爬虫之anaconda环境下创建scrapy爬虫框架
Python dict怎么实现的
ipad上可以运行Python么
Python必背内容有哪些
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 介绍python60行代码写一个简单的笔趣阁爬虫