用python爬取小说章节内容
在学爬虫之前, 最好有一些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(' ','').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爬取小说章节内容的更多相关文章
- 用Python爬取小说《一念永恒》
我们首先选定从笔趣看网站爬取这本小说. 然后开始分析网页构造,这些与以前的分析过程大同小异,就不再多叙述了,只需要找到几个关键的标签和user-agent基本上就可以了. 那么下面,我们直接来看代码. ...
- 利用python的requests和BeautifulSoup库爬取小说网站内容
1. 什么是Requests? Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库. 它比urllib更加方便,可以节约 ...
- python爬取小说详解(一)
整理思路: 首先观察我们要爬取的页面信息.如下: 自此我们获得信息有如下: ♦1.小说名称链接小说内容的一个url,url的形式是:http://www.365haoshu.com/Book/Cha ...
- 详细记录了python爬取小说《元尊》的整个过程,看了你必会~
学了好几天的渗透测试基础理论,周末了让自己放松一下,最近听说天蚕土豆有一本新小说,叫做<元尊>,学生时代的我可是十分喜欢读天蚕土豆的小说,<斗破苍穹>相信很多小伙伴都看过吧.今 ...
- python爬取小说
运行结果: 代码: import requests from bs4 import BeautifulSoup from selenium import webdriver import os cla ...
- python入门学习之Python爬取最新笔趣阁小说
Python爬取新笔趣阁小说,并保存到TXT文件中 我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后 ...
- Python3爬取小说并保存到文件
问题 python课上,老师给同学们布置了一个问题,因为这节课上学的是正则表达式,所以要求利用python爬取小说网的任意小说并保存到文件. 我选的网站的URL是'https://www.biquka ...
- python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)
转载出处:药少敏 ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: from bs4 import BeautifulSoup imp ...
- python 爬取网络小说 清洗 并下载至txt文件
什么是爬虫 网络爬虫,也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以 ...
随机推荐
- Linux 套接字编程 - TCP连接基础
第五章的内容,实现一个echo服务器和对应的客户端,主要收获: 0. TCP socket编程主要基本步骤 1. SIGCHLD信号含义(子进程退出时向父进程发送,提醒父进程对其状态信息进行一个获取) ...
- Grunt压缩图片和JS
今天我们来说一下用Grunt来压缩图片和JS吧! 首先要安装插件: 这是压缩图片的; npm install --save-dev gulp-imagemin 这是压缩JS的: npm install ...
- SharePoint 2013 - Workflow Manager
1. Workflow Manager可以与SharePoint 安装在同一台机器上,只是不建议这么做:由于Workflow Manager 需要使用数据库,我个人将其安装在 SQL Server机器 ...
- JS高级程序设计第三版——JavaScript简介
JavaScript简史 JavaScript由Netscape(网景)公司在1995年发布,最开始的主要目的是处理以前由服务器端语言负责的一些输入验证操作,以便提高用户体验,后来就慢慢的发展为一门强 ...
- (原创)攻击方式学习之(3) - 缓冲区溢出(Buffer Overflow)
堆栈溢出 堆栈溢出通常是所有的缓冲区溢出中最容易进行利用的.了解堆栈溢出之前,先了解以下几个概念: 缓冲区 简单说来是一块连续的计算机内存区域,可以保存相同数据类型的多个实例. 堆栈 堆 栈是 ...
- nginx http强制跳转https
通过nginx的rewrite 进行301永久重定向,参考如下配置即可. server { listen 192.168.1.111:80; server_name test.com; rewrit ...
- vue-cli3 项目从搭建优化到docker部署
项目地址 vue-cli3-project 欢迎 star 原文地址 https://www.ccode.live/lentoo/list/9?from=art 1. 创建一个vue项目 相信大部分人 ...
- linux虚拟机最优测试环境搭建
目标:创建一个最优的linux虚拟机环境 环境:vmware12.0 系统:centos6.5 (* 以下配置是建立在配置完成基础网络环境后创建的,用static静态IP地址) 1.关闭selinux ...
- libxml2库函数详解
许多事物符合80/20法则,libxml中也是20%的函数提供了80%的功能.下面的列表列出了libxml的主要函数及其用法说明. 1. 全局函数说明 头文件引用 xml2config --cfl ...
- mongodb文档替换
对下面的文档做一个比较大的调整,将 friends.enemies两个字段移到 relationships子文档中. > db.people.insert({ "name" ...