python3.5爬虫完成笔趣阁小说的爬取

旧巷老猫 提交于 2020-12-12 16:32:09

内容简介:

本文主要是利用python3.5完成了笔趣阁小说的爬虫程序存储章节txt到本地,方便阅读。

需求:

由于手机最近阅读笔趣阁的小说插了特别多的广告特别麻烦;所以就做了个小程序实现下文本的爬取,全部把小说爬取下来存储成txt,放到手机上阅读。


过程:

说做就做,本来python爬虫就比较简单,笔趣阁的模块也都是直接读取源代码就可以获取文字;所以就都读下来了。

如果想全部存储到一个文档,对应的改动程序,让列表添加,再一次写入就行。

附上源码:有兴趣的可以设置下对应的文件夹,就可以直接写到上面的直接os.makefiles();

下载其它小说请注意修改 [下载到的本地目录, 书号, 起始index号]

源码:

import re  import urllib.request as request    from bs4 import BeautifulSoup    import requests   '''全局变量声明, 下载其它小说请注意修改 [下载到的本地目录, 书号, 起始index号]'''downLoadFile = 'F:\\txt_cpxs\\' ##要下载到的目录shuhao = '2_2970' ## 书号就是http://www.biquge.com/2_2970/2456497.html; com后面的那个。start, end = 2456497,100000 def setSrr(url):      if(requests.get(url).status_code == 404):          print('这是个错误网址')          return []      print ('正在打开 ',url)           l  = []      '''''请求响应和不响应的处理'''      response = request.urlopen(url)            html = response.read()        soup = BeautifulSoup(html)      item = soup.findAll('h1')       title = re.match(r'(.*)<h1> (.*)</h1>(.*)', str(item) ,re.M|re.I).group(2)      l.append(title.split(' ')[0])      l.append(title)      strings = soup.findAll('div', id="content")[0];      for string in strings:          st = string.__str__()          if (len(st.split('<br/>')) > 1):              pass          else:              l.append(st)      return l  #strings.split()   #穿入字符串 写入文件;标题为l[0]  def setDoc(l):      if(len(l) < 2):          return      file_s = downLoadFile  + l[0] + '.txt'      file = open(file_s, 'w+', encoding='utf-8')      for i in l:          file.write('\t')          for ii in i.split('    '):              file.write(ii)          file.write('\n')   #开始自加数值;读取新文档;如果没有;那么跳过  ''''' 最开始设置为1066142,100  '''  def setNum(num,n):      l = [(num + i) for i in range(n)]      sl = [str(l[i]) for i in range(len(l))]      return sl        '''''自动产生新的url'''   '''''  自己观察到:第一章的地址http://www.biquge.com/2_2970/2456497.html最后一张的地址 http://www.biquge.com/2_2970/3230837.html'''  def setNewUrl(sl):      urls = []      for x in sl:          xsr = 'http://www.biquge.com/'+ shuhao +'/'+ x +'.html'  #对应的单章html        urls.append(xsr)      return urls     def setTxts(urls):      for url in urls:          setDoc(setSrr(url))        print(  '''''--------------开始下载超品相师--------------——actanble 手打——如果要下载其他的txt文件: 请修改——URL 和 对应的起始html的index号。'''  )  setTxts(setNewUrl(setNum(start, end)))

对于初学者想更轻松的学好Python开发,爬虫技术,Python数据分析,人工智能等技术,这里也给大家准备了一套系统教学资源,加Python技术学习教程qq裙:1071037936,免费领取。学习过程中有疑问,群里有专业的老司机免费答疑解惑!

PS:如果觉得本篇文章对您有所帮助,欢迎关注、订阅!帮忙点个 再看 转发一下 分享出去

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。


本文分享自微信公众号 - python教程(pythonjc)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!