在学爬虫之前, 最好有一些html基础, 才能更好的分析网页.

主要是五步:

1.  获取链接

2. 正则匹配

3. 获取内容

4. 处理内容

5. 写入文件

代码如下:

  1. #导入相关model
  2. from bs4 import BeautifulSoup
  3. import requests
  4. import re
  5.  
  6. #获取目标链接地址
  7. url = 'http://www.biquyun.com/0_292/'
  8. reponse = requests.get(url)
  9. reponse.encoding = 'gbk' #设置编码方式,可在网页源码头部查到
  10. html = reponse.text
  11.  
  12. #获取各章节链接和标题
  13. #审查元素, 找到小说章节的代码位置, 找出其对应的标签, 进行正则匹配
  14. dl = re.findall(r'<dd><a href="(.*?)">(.*?)</a>', html, re.S) #返回list类型
  15. j=0 #计数, 只获取前30章, 多了结果要很久才出来
  16.  
  17. #进行章节内容获取
  18. for chapter in dl:
  19. if j >= 30:
  20. break
  21. #获取章节链接,名字.等价于c_link=chapter[0]; c_title=chapter[1]
  22. chapter_link, chapter_title = chapter
  23. #补全链接,因为之前获取的只是链接的尾部
  24. chapter_link = "http://www.biquyun.com%s" % chapter_link
  25.  
  26. #仿照之前的再写一遍
  27. chapter_reponse = requests.get(chapter_link)
  28. chapter_reponse.encoding='gbk'
  29. chtml = chapter_reponse.text
  30. #找到小说章节正文所在标签
  31. chapter_content = re.findall(r'<div id="content">(.*?)</div>', chtml,re.S)
  32. #将它们转换为字符串,因为list无法进行replace操作
  33. t = str(chapter_title)
  34. s = str(chapter_content)
  35. #替代好空格,换行, 以及列表的左右中括号
  36. s = s.replace('&nbsp;','').replace('<br />',"\n").replace('\\r\\n','')
  37. s = s.replace(']',"\n").replace('[',' ').replace
  38. #新建txt文件,并将其名字设置为章节名, 写入
  39. f = open('E:/temp/zhuxian/%s.txt' % chapter_title, 'w')
  40. f.write(t)
  41. f.write('\n')
  42. f.write(s)
  43. j = j+1
  44. print('ok')
  45. f.close()
  46. ''' s = s.replace('[','')
  47. s = s.replace('<br />',"\n")
  48. s = s.replace('\\r\\n','')'''

用python爬取小说章节内容的更多相关文章

  1. 用Python爬取小说《一念永恒》

    我们首先选定从笔趣看网站爬取这本小说. 然后开始分析网页构造,这些与以前的分析过程大同小异,就不再多叙述了,只需要找到几个关键的标签和user-agent基本上就可以了. 那么下面,我们直接来看代码. ...

  2. 利用python的requests和BeautifulSoup库爬取小说网站内容

    1. 什么是Requests? Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库. 它比urllib更加方便,可以节约 ...

  3. python爬取小说详解(一)

    整理思路: 首先观察我们要爬取的页面信息.如下:  自此我们获得信息有如下: ♦1.小说名称链接小说内容的一个url,url的形式是:http://www.365haoshu.com/Book/Cha ...

  4. 详细记录了python爬取小说《元尊》的整个过程,看了你必会~

    学了好几天的渗透测试基础理论,周末了让自己放松一下,最近听说天蚕土豆有一本新小说,叫做<元尊>,学生时代的我可是十分喜欢读天蚕土豆的小说,<斗破苍穹>相信很多小伙伴都看过吧.今 ...

  5. python爬取小说

    运行结果: 代码: import requests from bs4 import BeautifulSoup from selenium import webdriver import os cla ...

  6. python入门学习之Python爬取最新笔趣阁小说

    Python爬取新笔趣阁小说,并保存到TXT文件中      我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后 ...

  7. Python3爬取小说并保存到文件

    问题 python课上,老师给同学们布置了一个问题,因为这节课上学的是正则表达式,所以要求利用python爬取小说网的任意小说并保存到文件. 我选的网站的URL是'https://www.biquka ...

  8. python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)

    转载出处:药少敏   ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: from bs4 import BeautifulSoup imp ...

  9. python 爬取网络小说 清洗 并下载至txt文件

    什么是爬虫 网络爬虫,也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以 ...

随机推荐

  1. 第一个servet(用注解),不用web.xml

    环境: idea 1.新建模块 2.在蓝色src下新建一个包com.test 3.在包下新建servlet 4.写代码 package com.test; import javax.servlet.S ...

  2. SQLAlchemy的使用---查询的更多操作

    # 查询更多操作 from create_table import User, engine from sqlalchemy.orm import sessionmaker Session = ses ...

  3. 【linux学习笔记】began,每次玩这个都特别着迷

    胡乱的安装,通过虚拟机,从DVD加载开始,当然网上有大段的装机教程,装了两个Linux发行版,一个是centos7,一个是ubuntu18.04. 分区那些事: 因为处于学习阶段,所以总是因为分区问题 ...

  4. null 和 undefined 区别

    ---恢复内容开始--- 1.在javascipt中,将一个变量赋值为undefined 或 null ,几乎没什么区别. 2. 在if语句中undefined  和 null 都会被自动转成fals ...

  5. SharePoint 2013 - Designer Workflow

    另一篇文章 SharePoint Designer - Workflow 1. 可以定义每个Stage的名称,并将Stage名称显示在工作流状态字段,相比于SP2010时仅有的in progress ...

  6. Python数组使用

    python数组的使用 2010-07-28 17:17 1.Python的数组分三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素. 定义方式:arr = [元素] (2 ...

  7. 诊断GRID无法启动问题

    诊断 Grid Infrastructure 启动问题 (文档 ID 1623340.1)

  8. mysql导入csv格式文件

    今天测试导入csv格式文件,虽然简单但是如果不注意还是会出现错误,而且mysql在某些方面做的确实对新手不是很友好,记录一下:创建一个csv格式文件:[mysql@xxx1 ycrdb]$ more ...

  9. YouTube 1080P高清视频下载方法

    在国内在线视频网站还停留在1080P蓝光的时候,YouTube早已经支持4K和8K分辨率的极清视频.虽然4K和8K的清晰度比1080P高了许多档次,但是大部分人的电脑播放4K视频还是很卡的,所以目前来 ...

  10. SQL-MySQL使用教程-对MySQL的初步尝试

    出现问题:中文无法显示.存储:不对任何数据做检测,只管理数据类型.