爬取笔下wenxue小说
import urllib.request
from bs4 import BeautifulSoup
import re def gethtml(url):
page=urllib.request.urlopen(url)
html=page.read().decode('gbk')
soup=BeautifulSoup(html,"html.parser")
#print(soup)
return soup def getcontent(soup,load): #获取章节内容以及章节名称
content1=""
content=re.findall(r'<div id="content"><div id="adright"></div>(.*?)</div>',str(soup))
for i in range(0,len(content)):
content1+=content[i]
content2 = re.sub("</?\w+[^>]*>", "", content1)
content3=content2.replace('。','。\n\n\0\0\0\0\0\0')
#以上获取章节内容
zjname = re.findall(r'<div id="title">(.*?)</div>', str(soup))
#获取章节名称 with open(load, 'a', encoding='utf-8') as f:
f.write("\0\0\0\0\0\0-----------------------------------------------------------"+zjname[0]+"------------------------------------------------------\n\n"+content3) def book(soup):
bookurl=re.findall(r'<td class="odd"><a href="(.*?)">',str(soup)) #get every book url for i in range(0,len(bookurl)):
#找到“[点击阅读]按钮”的链接,以及书名
print(bookurl[i])
soup1=gethtml(bookurl[i])
allcontent=re.findall(r'</a>\xa0\xa0\xa0\xa0<a href="(.*?)">',str(soup1))
bookname=re.findall(r'<strong>(.*?)全集下载</strong>', str(soup1)) soup2=gethtml(allcontent[0])
#打开点击阅读的按钮链接,找到第一章的链接
firsturl1 = re.findall(r'<dd><a href="(.*?)">.*?</a></dd>', str(soup2))
headurl=bookurl[i][0:-4].replace("binfo","b")
firsturl2=headurl+"/"+firsturl1[0]
print(firsturl2) #打开链接,开始爬取内容,同时获取下一章内容,并判断是否到最后一章
soup3=gethtml(firsturl2)
k=0
load="d:/77/%s.txt" % bookname[0]
try: while True:
nexturl = re.findall(r'<li><a href="(.*?)">下一页', str(soup3))
getcontent(soup3,load)
soup3=gethtml(headurl+"/"+nexturl[0])
k+=1
print("第%d章下载完成" % int(k))
except: print("-------------------第%d本书下载完成---------------" % int(i+1)) url="http://www.bxwx9.org/modules/article/toplist.php?sort=dayvisit"
soup=gethtml(url)
load=book(soup)
保存到txt文件中
2017-05-28
22:58:35
爬取笔下wenxue小说的更多相关文章
- Python爬虫爬取全书网小说,程序源码+程序详细分析
Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...
- python之如何爬取一篇小说的第一章内容
现在网上有很多小说网站,但其实,有一些小说网站是没有自己的资源的,那么这些资源是从哪里来的呢?当然是“偷取”别人的数据咯.现在的问题就是,该怎么去爬取别人的资源呢,这里便从简单的开始,爬取一篇小说的第 ...
- 如何用python爬虫从爬取一章小说到爬取全站小说
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...
- 爬虫入门(四)——Scrapy框架入门:使用Scrapy框架爬取全书网小说数据
为了入门scrapy框架,昨天写了一个爬取静态小说网站的小程序 下面我们尝试爬取全书网中网游动漫类小说的书籍信息. 一.准备阶段 明确一下爬虫页面分析的思路: 对于书籍列表页:我们需要知道打开单本书籍 ...
- 使用requests+BeautifulSoup爬取龙族V小说
这几天想看龙族最新版本,但是搜索半天发现 没有网站提供 下载, 我又只想下载后离线阅读(写代码已经很费眼睛了).无奈只有自己 爬取了. 这里记录一下,以后想看时,直接运行脚本 下载小说. 这里是从 ...
- 爬虫入门实例:利用requests库爬取笔趣小说网
w3cschool上的来练练手,爬取笔趣看小说http://www.biqukan.com/, 爬取<凡人修仙传仙界篇>的所有章节 1.利用requests访问目标网址,使用了get方法 ...
- scrapy进阶(CrawlSpider爬虫__爬取整站小说)
# -*- coding: utf-8 -*- import scrapy,re from scrapy.linkextractors import LinkExtractor from scrapy ...
- Python的scrapy之爬取6毛小说网的圣墟
闲来无事想看个小说,打算下载到电脑上看,找了半天,没找到可以下载的网站,于是就想自己爬取一下小说内容并保存到本地 圣墟 第一章 沙漠中的彼岸花 - 辰东 - 6毛小说网 http://www.6ma ...
- 使用scrapy爬取金庸小说目录和章节url
刚接触使用scrapy的时候,如果一开始就想实现特别复杂的配置,显然是不太现实的,用一些小的例子可以帮助自己理解各个模块. 今天的目标:爬取http://www.luoxia.com/shendiao ...
随机推荐
- sqlserver2014两台不同服务器上数据库同步
sqlserver2014两台不同服务器上数据库同步 同步了快一个月了,哈哈,因为途中比较麻烦,第一次,遇到烦的地方就停下了,今天终于同步成功了,哈哈,下面我就来介绍一下我实现两台数据库同步的过程 ...
- ajax 上传文件,显示进度条,进度条100%,进度条隐藏,出现卡顿就隐藏进度条,显示正在加载,再显示上传完成
<form id="uploadForm" method="post" enctype="multipart/form-data"&g ...
- 如何进行Django单元测试
如何进行Django单元测试 Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试.类名为django.test.TestCase,继承于python的un ...
- python下载youtube视频
谷歌开源了一个新的数据集,BoundingBox,(网址在这里)这个数据集是经过人工标注的视频数据集,自然想将它尽快地运用在实际之中,那么首先需要将其下载下来:可以看到网址上给出的是csv文件,该文件 ...
- Hibernate的一个小应用
hibernate 第一步,导入hiberante需要用到的jar包,因为使用hibernate时候,有日志信息输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包 不要忘记还有 ...
- CentOS 系列安装 Docker
CentOS6对于 CentOS6,可以使用 EPEL 库安装 Docker,命令如下$ sudo yum install http://mirrors.yun-idc.com/epel/6/i386 ...
- Python3学习之路~6.8 多态
多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型 ...
- 照葫芦画瓢之爬虫豆瓣top100
import requestsimport reimport jsonfrom requests.exceptions import RequestExceptiondef get(url): ...
- JavaScript基础学习2
/* 1.把函数作为参数.匿名函数作为参数传递到函数 */ function dogEat(food) { console.log("dog eat " + food); } fu ...
- WebStrom2018注册码
2RRJMBXW33-eyJsaWNlbnNlSWQiOiIyUlJKTUJYVzMzIiwibGljZW5zZWVOYW1lIjoi5b285bK4IHNvZnR3YXJlMiIsImFzc2lnb ...