爬取笔下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 ...
随机推荐
- Appium环境配置(二)
一.使用Eclipse直接创建案例工程 1.打开Eclipse,[File]-->[New]-->[Project] 2.选择[Java Project]-->[Next] 3.输入 ...
- Java+Selenium如何解决空指针
1.问题描述:浏览器获取当期窗口值获取为空.
- python全栈开发day12
列表 创建列表: 基本操作: 索引 切片 追加 删除 长度 切片 循环 包含 #######################列表list类中提供的方法######################## ...
- tomcat去掉项目名称
进入tomcat的conf目录,查看server.xml,找到<Host></Host>,在里面添加<Context path="" docBase= ...
- Github上Laravel开源排行榜Star数61-90名
Github上Laravel开源排行榜Star数61-90名,罗列所有 Laravel 开源扩展包,含 Github Star 数量,下载数量和项目简介.默认排序是按Star数量从多到少来排 61.c ...
- fatal error: vector: No such file or directory
jni/mac.cpp:28:18: fatal error: vector: No such file or directory jni/mac.cpp:29:18: fatal error: me ...
- android打印日志封装
public class LogUtils { static String className;//类名 static String methodName;//方法名 static int lineN ...
- staticmethod()静态方法和classmethod类方法都是装饰器
1.staticmethod()静态方法 使用@staticmethod目的是为了增加可读性,不需要参数self(不强制要求传递参数) 的方法都可以加上@staticmethod增加可读性 静态方法无 ...
- WeChat-结构
- jenkins 的一个BUG
最近更新了一批jenkin插件,更新完问题来了全局设置无法保存了... 报错如下 Stack trace net.sf.json.JSONException: null object at net.s ...