本篇文章给大家谈谈在线听小说网站源码分享,以及在线听小说免费下载对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
声明:本文转载于CSDN,原文https://blog.csdn.net/qq_37608398/article/details/80217604
本文仅供大家进行python的学习,对于产生的后果本人不负任何责任,看小说请支持正版.
之前爬取笔趣阁小说都是单一的一本小说,爬取多本一般也是一本爬取爬取完成再爬取下一本,本节主要是消除这个弊端,利用多线程同时爬取多本小说,这种方式比较适合,用高性能服务器来爬取数据,这个主要技巧是在之前的爬取单本小说的基础上加上多线程技术,废话不多说,来点干货。
第一步:下载单本小说这部分就不详细讲解了,具体查看我之前写的博客python3.6.5爬虫之一:笔趣阁小说爬取(首页爬取法)
第二步:分析整个笔趣阁网站结构通过分析源码得知,笔趣阁网址结构为http://www.biquge.com/book/(number)http:网络协议,www.biquge.com:该网站域名(可以通过ping该域名得到该服务器ip地址),book:服务器根路径,number:相对路径(小说的唯一标识),这样看来,http://www.biquge.com/book/这些是固定写死的,后面的number对应每一本小说
第三步:多线程下载根据第三步的分析结果可知,改变请求地址中的number变量,就可以请求不同的小说,而且通过分析这个number值是从1开始递增的,中间没有缺少的(通过请求查到当前一共有37707本小说),将第一步的单本小说主函数加到多线程的函数中,设置number的范围,既可实现,多线程爬取多本小说。
效果图:
之前爬取的200多本小说(大约1.2Gb):
代码:
url=’http://www.biqiuge.com/book/4772/’
多线程
defgetHtmlCode(url):
page=request.urlopen(url)
html=page.read()
htmlTree=BeautifulSoup(html,’html.parser’)
returnhtmlTree
aList是一个标签类型的列表,class=Tag写入文件之前需要转化为str
line[‘href’]=url+line[‘href’]
去重
aDealList.append(chapter)
aDealList.sort()print(aDealList)
aDealList=str(aDealList)
urlList=[]
forlineinaDealList:
line=url+str(line)+’.html’
urlList.append(line)
章节名
content=htmlTree.find_all(‘div’,id=’content’)
content=content[0].contents[1].get_text()
return(title,content)
defmain(url):
(storyName,urlList)=parserCaption(url)
flag=True
os.system(cmd)
cmd=’del/q/s*.txt’
#os.system(cmd)
start=340
space=500
foriinrange(start,space):
url_tmp=url+str(i)+’/’
print(url_tmp)
tmp=’Thread-‘+str(i)
threadName=myThread(i,tmp,url_tmp)
threadName.start()
foriinrange(1,space):
threadName=myThread(i,tmp,url_tmp)
threadName.join()
print(“exit”)
关于在线听小说网站源码分享,在线听小说免费下载的介绍到此结束,希望对大家有所帮助。
