Python顶点小说爬虫(《三寸人间》爬取)

获取整个页面

import requests
from bs4 import BeautifulSoup
url = "https://www.23us.so/files/article/html/0/43/3615671.html"
r = requests.get(url, timeout=30)
r.raise_for_status()#检验连接状态
r.encoding = 'utf-8'#中文格式
soup = BeautifulSoup(r,"html.parser")

a = str(soup.find_all('h1'))#得到章节标题并转化成str类型

b = str(soup.find_all('dd',{'id',contents}))#得到小说内容并将它转化成str类型

写入.txt文档

dingdian = open("顶点.txt","a",encoding = "utf-8")
dingdian.write(a+'\n')
dingdian.write(b+'\n\n\n')
dingdian.close

大致结果如下

这就要用replace函数进行优化

a = a.replace('<h1>','')#将<h1>替换成空
a = a.replace('</h1>','')#将</h1>替换成空
b = b.replace('<br/>','')#将<br/>替换成空


继续爬取下一章

Next = soup.find_all('a')
for i in Next:#因为一个页面有多个a标签,所以遍历取出需要的内容if(i.string =='下一页'):break
url = 'https://www.23us.so'+i.get('href')#href的地址为相对路径,需要加上网站首页IP地址

得到url后就重复上面的操作。
整理所有代码并将它函数化

import requests
from bs4 import BeautifulSoup
def getHTMLText(url):try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = 'utf-8'return r.textexcept:return ""
def getNextHTML(soup):Next = soup.find_all('a')for i in Next:if(i.string =='下一页'):breakreturn'https://www.23us.so' + i.get('href')
def getText(soup):a = str(soup.find_all('dd',{'id':'contents'})).replace('[<dd id="contents">','')return a.replace('<br/>','')
def getHead(soup):a = str(soup.find_all('h1')).replace('<h1>','')return a.replace('</h1>','')
def putText(text,h1):dingdian = open("sancunrenjian.txt","a",encoding = "utf-8")dingdian.write(h1 + '\n')dingdian.write(text+'\n\n\n\n')dingdian.close
def main():url = "https://www.23us.so/files/article/html/0/43/3615671.html"r = getHTMLText(url)soup = BeautifulSoup(r,"html.parser")while(True):putText(getText(soup),getHead(soup))url = getNextHTML(soup)if(url == 'https://www.23us.so/files/article/html/0/43/index.html'):breakr = getHTMLText(url)soup = BeautifulSoup(r,"html.parser")
main()

Python顶点小说爬虫(《三寸人间》爬取)相关推荐

  1. Python数据分析:爬虫从网页爬取数据需要几步?

    对于数据分析师来说,数据获取通常有两种方式,一种是直接从系统本地获取数据,另一种是爬取网页上的数据,爬虫从网页爬取数据需要几步?总结下来,Python爬取网页数据需要发起请求.获取响应内容.解析数据. ...

  2. Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)

    文章目录 一.selenium爬取动态网页 二.爬虫案例分析 三.哈希hash算法与RSA加密 一.selenium爬取动态网页 1.动态网页认知 爬虫其实就是在模仿浏览器的行为 应对要多次数据的交互 ...

  3. python用scrapy爬虫豆瓣_Python-用Scrapy爬取豆瓣电影

    学习网址: http://www.ituring.com.cn/article/114408 http://python.jobbole.com/86584/ https://segmentfault ...

  4. 【Python】从爬虫开始吧——爬取妹子图整站

    首先得解决环境和工具的问题 Python基础教程 Python3基础教程 大家也可以去慕课网看视频学习哦,关于选择Python2还是Python3的问题,上手的话还是直接选择3吧. 关于爬虫 爬虫就是 ...

  5. 请用Python写一个爬虫程序,爬取当当网图书畅销榜数据

    好的,下面是一个简单的 Python 爬虫代码,可以爬取当当网图书畅销榜数据: import requests from bs4 import BeautifulSoupurl = "htt ...

  6. 【Python实现网络爬虫】Scrapy爬取网易新闻(仅供学习交流使用!)

    目录 1. 新建项目 2. 修改itmes.py文件 3. 定义spider,创建一个爬虫模板 3.1 创建crawl爬虫模板 3.2 补充知识:selectors选择器 3.3. 分析网页内容 主体 ...

  7. 【Python aiohttp异步爬虫】批量爬取电脑壁纸

    寒假在家,实在无事可做,就找到了崔庆才爬虫52讲的课程,巩固一下爬虫知识,最近也是学到了异步爬虫,本来想按照视频教的案例实践一下就可以了,没想到案例网站证书过期了,没办法进行实践,只能去找别的网站实践 ...

  8. 利用python爬取天气预报_python实现天气爬虫——利用xpath爬取七天天气预报数据...

    python实现天气爬虫--利用xpath爬取七天天气预报数据 import pandas as pd import lxml import requests import csv from lxml ...

  9. python3.6爬虫案例:爬取顶点小说(爱看小说同学的福利)

    一.写在前面 这次本来打算爬百思不得姐视频的,谁料赶上此网站调整,视频专栏下线了,网站中也没有视频可爬.所幸先来说说如何爬取顶点小说吧. 顶点小说(https://www.x23us.com)里面的内 ...

最新文章

  1. 主角用计算机控制身体,国漫段子手:绝技,用计算机控制挖掘机炒菜
  2. 【剑指Offer】28、数组中出现次数超过一半的数字
  3. bzoj 4814: [Cqoi2017]小Q的草稿【计算几何】
  4. C#设置代码只在调试模式下执行
  5. 如何把Kubernetes config view里的base64编码过后的secret信息还原
  6. exif.js html图片旋转,解决图片显示 Exif.js更改图片的显示方向
  7. 超酷消息警告框插件(SweetAlert)
  8. python中使用连续关系运算符_解释一下Python中的关系运算符
  9. Bash基础——快捷键
  10. php 批量采集 邮箱,万能全网邮箱批量采集工具按照关键字搜索邮箱教程
  11. 如何将图片放大又清晰?
  12. php启用 兼容性视图,新版Edge浏览器兼容性视图设置及添加兼容性站点教程(图示)...
  13. 使用手册 煤矿风险管控系统_煤矿风险分级管控手册.doc
  14. css3 3d头像,Three.js 3D头像
  15. 【数据结构】CH3 栈和队列
  16. MVC与MVVM区别
  17. spring security基于数据库的安全认证 配置
  18. PPT地图 - 动态显示省份扩散效果
  19. 在IDEA中使用搜狗输入法输入文字是繁体字,但是在其他地方输入文字是正常的简体字
  20. 盘点实验室的----FITC-透明质酸;FITC-HA不同透明质酸分子量修饰

热门文章

  1. toj3857. Jiong
  2. SAP-HR技术系列之二:人力资源管理系统项目实施经验谈
  3. 手机摄像头驱动_手机终端大幅下单 摄像头厂商有喜有忧
  4. 点击查看更多进行分页,uniapp,分页请求
  5. word2016 次方符号 上标 下标
  6. 定义一个圆,求圆的面积
  7. Linux线程条件控制实现线程的同步pthread_cond_init、pthread_cond_destroy、pthread_cond_wait、pthread_cond_signal
  8. 查明“天猫618红包”弹窗是谁弹出来的及其解决办法
  9. combobox组件
  10. 六边形战斗力满格,高效数据采集从这里开始!