想下本小说没找到资源,在线看翻页又太麻烦,所以就只好自己爬一本了(当然我只会一点点爬虫)
想看的书叫《大王饶命》,随便找了个在线阅读的网址http://www.dawangraoming.com/
第一步 确定route范围
打开了第一章
http://www.dawangraoming.com/book/1385.html
和目前更新的最后一章
http://www.dawangraoming.com/book/5545.html
所以它的route从1385到5545顺序增加(后来发现它有缺失,比如说没有1388……)
第二步 确定标题、文本所在的DOM节点
打开开发者工具
标题DOM节点
文本DOM节点
第三步 代码
from bs4 import BeautifulSoup
import urllib
import re
def getTexts(url):
try:
html=urllib.request.urlopen(url)
#前面说过存在缺失,所以做一个异常处理
except urllib.error.HTTPError:
return '',''
else:
bsObj=BeautifulSoup(html.read())
title=bsObj.find("div",id="BookCon").find('h1').get_text()
text=bsObj.find("div",id="BookText").get_text()
return title,text
def main(file):
for i in range(1385,5545):
url='http://www.dawangraoming.com/book/{}.html'.format(i)
title,text=getTexts(url)
file.write(title+'\n\n'+text+'\n\n')
if __name__=="__main__":
#小说保存路径
file=open("./大王饶命.txt",'a')
main(file)