qu.la网站上的小说爬取

##这个项目是我最早开始写的爬虫项目,代码比较简陋

在写这个项目时,我还不会Python的协程编程,用协程可提升爬虫速度至少5倍,参考我的文章[线程,协程对比和Python爬虫实战说明]

(https://github.com/zhang0peter/python-coroutine)

# -*- coding: utf-8 -*-
"""
Created on Tue Aug 22 11:04:57 2017
@author: zhang
"""#小说第一面的网址
url="https://www.qu.la/book/26974/9765888.html"
#all1表示想要爬取多少面
all1=860
#path是你想要保存的文件名,可以是绝对路径
path = "超维术士.txt"next=url.split('/')[-1]
url0 = url.replace(next,"")
from bs4 import BeautifulSoup
import requests
import time
time0=time.time()
header = {"User-Agent":"Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36"}
a=""
i=0
def replace(content):content=content.replace("<br/>\u3000\u3000<br/>\u3000\u3000\xa0\xa0\xa0\xa0","\r\n")content=content.replace("[<div id=\"content\">\r\n\t\t\t\t\xa0\xa0\xa0\xa0","\r\n")content=content.replace("\t\t\t\t<script>chaptererror();</script>\n</div>]","")content=content.replace("<br/>\u3000\u3000","\r\n")content=content.replace("[<div id=\"content\">","\r\n")content=content.replace("\t\t\t\t<script>chaptererror();</script>\n</br></div>]","")return content
while 1:url=url0+nexttry :r=requests.get(url,timeout=10,headers=header)except:continuer.raise_for_status()if  not r.status_code ==200:print("产生异常1")r.encoding=r.apparent_encodingdemo=r.textsoup = BeautifulSoup(demo,"html.parser")title =str(soup.h1.string)a+=titlecontent =str(soup.select("#content"))content=replace(content)a+=contenttry:next= soup.find('a','next').attrs['href']except:breaki+=1time1=time.time()print("\r当前进度:  {0:.2f}% 总花费时间:{1:.2f}s".format(i*100/all1,time1-time0),end="")if i>=all1:break
print("\n共爬取了{0}章内容,花时{1:.2f}s".format(all1,time1-time0))
g=open(path,mode='w',encoding='utf-8')
g.write(a)
g.close()

code
GitHub项目地址:https://github.com/zhang0peter/novel-spider/
欢迎大家关注我的GitHub:https://github.com/zhang0peter

qu.la网站上的小说爬取相关推荐

  1. 如何使用Excel完成网站上的数据爬取

    1.数据分析的流程 数据获取:爬取网站上的数据实现可操作性的编辑. 数据处理:数据的预处理,将获取的数据进行格式调整方便后续使用. 常用的Office组件为 Power Query.Power Piv ...

  2. python爬虫--小说爬取

    requests+bs4模块–简单爬虫实例–小说爬取 文章目录 section1:声明 section2:想法 section3:下载链接分析: section4:代码编写 1.导包 2.构建请求头 ...

  3. 写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我...

    写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我 1.HttpUtil工具类,用于模拟用户登录以及爬取网页: using System; using ...

  4. 爬虫实战2(上):爬取豆瓣影评

       这次我们将主要尝试利用python+requsets模拟登录豆瓣爬取复仇者联盟4影评,首先让我们了解一些模拟登录相关知识补充.本文结构如下: request模块介绍与安装 get与post方式介 ...

  5. 如何爬一个网站的数据-免费爬取网站的任意数据软件

    如何爬一个网站的数据?爬取网络数据大家称之为网络爬行 收集页面以创建索引或集合.另一方面,网络抓取下载页面以提取一组特定的数据用于分析目的,例如,产品详细信息.定价信息.SEO 数据或任何其他数据集. ...

  6. python爬取新浪新闻首页_Python爬虫学习:微信、知乎、新浪等主流网站的模拟登陆爬取方法...

    微信.知乎.新浪等主流网站的模拟登陆爬取方法 摘要:微信.知乎.新浪等主流网站的模拟登陆爬取方法. 网络上有形形色色的网站,不同类型的网站爬虫策略不同,难易程度也不一样.从是否需要登陆这方面来说,一些 ...

  7. Python爬虫实例 wallhaven网站高清壁纸爬取。

    文章目录 Python爬虫实例 wallhaven网站高清壁纸爬取 一.数据请求 1.分析网页源码 2.全网页获取 二.数据处理 1.提取原图所在网页链接 2.获取高清图片地址及title 三.下载图 ...

  8. 20200223——起点文学免费小说爬取

    这个单子爬取的是起点文学的免费小说,最开始由于只传入两个参数,我就手动了,结果坑参了,只要手动量大于50的一定要写代码完成!!!!!!!!! from lxml import etree import ...

  9. 大数据信息资料采集:中国知网文献资料网站数据信息资料爬取

    大数据信息资料采集:中国知网文献资料网站数据信息资料爬取 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份职业. 舆情监控:全方位监测公开信息,抢先获 ...

最新文章

  1. 服务器计费系统安卓,GitHub - NWAFU/dms_client: 服务器计费系统(客户机端):用于统计租户的服务器使用情况...
  2. python中*args **kwargs用法
  3. 【408预推免复习】计算机网络(谢希仁第七版)第二章——物理层
  4. 数据结构 --静态队列 讲解
  5. Android数据之Json解析
  6. 【大会】除了FFmepg和WebRTC,还有哪些新工具?
  7. 2019年的前端学习计划
  8. 【C++深度剖析教程32】new/malloc区别 delete/free区别
  9. C# JsonHelper类
  10. strust2 和 hibernate的整合------登录的实现
  11. RandomCodeUtil随机数工具类,随机生成数字、字母、数字字母组合、中文姓名
  12. 【NLP】统计自然语言处理(第2版)思维导图
  13. WEB2.0是什么东东?[转]
  14. mysql全量备份命令_linux下进行定时mysql数据库全量备份
  15. 一篇文章带你快速弄清楚什么是终端
  16. 概率论减法公式的证明
  17. 音频播放器—打开音频设备(扬声器)
  18. Service层需要接口吗
  19. Xilinx FPGA 配置之ICAP
  20. 华脉智联电力行业技术解决方案

热门文章

  1. android字体间距如何修改,【Android】如何改变TextView字体间距
  2. 电压放大倍数公式运放_【专题2:电子工程师 之 硬件】 之 【43.运算放大器详解e 运算放大器虚短和虚断】...
  3. Current综述:中农宋春旭等为植物有益微生物组构建一个美好家园
  4. BMC Plant biology:高丰度青枯菌改变了番茄根际微生物组和代谢组
  5. PlantCom:基于内参的宿主相关丰度定量分析揭示植物根系微生物组的微生物总量变化
  6. Microbiome:城环所杨军组揭示随机过程主导亚热带河流微型真核浮游生物群落构建
  7. R语言plotly可视化:plotly可视化分裂的分组小提琴图、每个小提琴图内部分为两组数据、每个分组占小提琴图的一半(Split violin plot in R with plotly)
  8. 什么是生存分析(survival analysis)?
  9. ValueError: The data property of a figure may only be assigned a list or tuple that contains a .....
  10. 纤维追踪成像理论+核磁共振影像数据处理