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

主要是五步:

1.  获取链接

2. 正则匹配

3. 获取内容

4. 处理内容

5. 写入文件

代码如下:

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

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

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

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

  6. Python实战项目网络爬虫 之 爬取小说吧小说正文

    本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 ...

  7. python之爬取小说

    继上一篇爬取小说一念之间的第一章,这里将进一步展示如何爬取整篇小说 # -*- coding: utf- -*- import urllib.request import bs4 import re ...

  8. python3下BeautifulSoup练习一(爬取小说)

    上次写博客还是两个月以前的事,今天闲来无事,决定把以前刚接触python爬虫时的一个想法付诸行动:就是从网站上爬取小说,这样可以省下好多流量(^_^). 因为只是闲暇之余写的,还望各位看官海涵:不足之 ...

  9. 爬取小说 spider

    1.代码: # -*- coding:UTF- -*- from bs4 import BeautifulSoup import requests, sys """ 类说 ...

随机推荐

  1. Go语言实战 - 网站性能优化第一弹&ldquo;七牛云存储&rdquo;

    由于用户纷纷反应山坡网的打开速度比较慢,所以两天前我们决定把服务器从linode迁移到阿里云. 整个迁移过程非常平滑,基本上一个小时就完成了.而且阿里云的配套设施提供的也很不错,运行状态监控什么的都有 ...

  2. ajax同步的实现

    if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc. xmlhttp=new XMLHttpRequest(); }els ...

  3. 实战CENTOS6.5安装docker并创建asp.net mvc 5 镜像,运行MVC 网站

    Docker,容器,让研发.测试.生产同一环境,可在linux平台上混合使用JAVA与net 程序 Centos6.5安装docker 参考http://my.oschina.net/kcw/blog ...

  4. replace和replaceAll的区别

      replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(Cha ...

  5. bzoj2753

    第一问dfs不说 第二问很容易让人想到最小树形图,但是我不会,而且时间复杂度也不允许 还有什么不同的方法呢? 首先想到的是prim的思想,设根节点已经确定,其他点未确定 我们就不断从已确定的点延伸,找 ...

  6. 实现一个JavaScript模块化加载器

    对任何程序,都存在一个规模的问题,起初我们使用函数来组织不同的模块,但是随着应用规模的不断变大,简单的重构函数并不能顺利的解决问题.尤其对JavaScript程序而言,模块化有助于解决我们在前端开发中 ...

  7. HDU 5943 Kingdom of Obsession 【二分图匹配 匈牙利算法】 (2016年中国大学生程序设计竞赛(杭州))

    Kingdom of Obsession Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  8. 运行java web项目时报错:Several ports (8005, 8080, 8009) required

    运行java web项目时报错:Several ports (8005, 8080, 8009) required 如下图 之所以报上面的错误是因为安装Tomcat的时候,已经把端口8005,8080 ...

  9. esp8266(1) 手机+Arduino+esp8266通信

    ESP8266 Android与Arduino通信 功能描述: 1 Arduino上电,它通过软串口(Arduino的 2号和3号脚)发送命令,配置espson8266为 AP模式,wifi名 DDD ...

  10. python导入方法,软件目录

    软件目录 import os #print(__file__)#打印当前文件相对路径(文件,发要) import sys BASE_DIR=os.path.dirname(os.path.dirnam ...