Python顶点小说爬虫(《三寸人间》爬取)
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顶点小说爬虫(《三寸人间》爬取)相关推荐
- Python数据分析:爬虫从网页爬取数据需要几步?
对于数据分析师来说,数据获取通常有两种方式,一种是直接从系统本地获取数据,另一种是爬取网页上的数据,爬虫从网页爬取数据需要几步?总结下来,Python爬取网页数据需要发起请求.获取响应内容.解析数据. ...
- Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)
文章目录 一.selenium爬取动态网页 二.爬虫案例分析 三.哈希hash算法与RSA加密 一.selenium爬取动态网页 1.动态网页认知 爬虫其实就是在模仿浏览器的行为 应对要多次数据的交互 ...
- python用scrapy爬虫豆瓣_Python-用Scrapy爬取豆瓣电影
学习网址: http://www.ituring.com.cn/article/114408 http://python.jobbole.com/86584/ https://segmentfault ...
- 【Python】从爬虫开始吧——爬取妹子图整站
首先得解决环境和工具的问题 Python基础教程 Python3基础教程 大家也可以去慕课网看视频学习哦,关于选择Python2还是Python3的问题,上手的话还是直接选择3吧. 关于爬虫 爬虫就是 ...
- 请用Python写一个爬虫程序,爬取当当网图书畅销榜数据
好的,下面是一个简单的 Python 爬虫代码,可以爬取当当网图书畅销榜数据: import requests from bs4 import BeautifulSoupurl = "htt ...
- 【Python实现网络爬虫】Scrapy爬取网易新闻(仅供学习交流使用!)
目录 1. 新建项目 2. 修改itmes.py文件 3. 定义spider,创建一个爬虫模板 3.1 创建crawl爬虫模板 3.2 补充知识:selectors选择器 3.3. 分析网页内容 主体 ...
- 【Python aiohttp异步爬虫】批量爬取电脑壁纸
寒假在家,实在无事可做,就找到了崔庆才爬虫52讲的课程,巩固一下爬虫知识,最近也是学到了异步爬虫,本来想按照视频教的案例实践一下就可以了,没想到案例网站证书过期了,没办法进行实践,只能去找别的网站实践 ...
- 利用python爬取天气预报_python实现天气爬虫——利用xpath爬取七天天气预报数据...
python实现天气爬虫--利用xpath爬取七天天气预报数据 import pandas as pd import lxml import requests import csv from lxml ...
- python3.6爬虫案例:爬取顶点小说(爱看小说同学的福利)
一.写在前面 这次本来打算爬百思不得姐视频的,谁料赶上此网站调整,视频专栏下线了,网站中也没有视频可爬.所幸先来说说如何爬取顶点小说吧. 顶点小说(https://www.x23us.com)里面的内 ...
最新文章
- 主角用计算机控制身体,国漫段子手:绝技,用计算机控制挖掘机炒菜
- 【剑指Offer】28、数组中出现次数超过一半的数字
- bzoj 4814: [Cqoi2017]小Q的草稿【计算几何】
- C#设置代码只在调试模式下执行
- 如何把Kubernetes config view里的base64编码过后的secret信息还原
- exif.js html图片旋转,解决图片显示 Exif.js更改图片的显示方向
- 超酷消息警告框插件(SweetAlert)
- python中使用连续关系运算符_解释一下Python中的关系运算符
- Bash基础——快捷键
- php 批量采集 邮箱,万能全网邮箱批量采集工具按照关键字搜索邮箱教程
- 如何将图片放大又清晰?
- php启用 兼容性视图,新版Edge浏览器兼容性视图设置及添加兼容性站点教程(图示)...
- 使用手册 煤矿风险管控系统_煤矿风险分级管控手册.doc
- css3 3d头像,Three.js 3D头像
- 【数据结构】CH3 栈和队列
- MVC与MVVM区别
- spring security基于数据库的安全认证 配置
- PPT地图 - 动态显示省份扩散效果
- 在IDEA中使用搜狗输入法输入文字是繁体字,但是在其他地方输入文字是正常的简体字
- 盘点实验室的----FITC-透明质酸;FITC-HA不同透明质酸分子量修饰
热门文章
- toj3857. Jiong
- SAP-HR技术系列之二:人力资源管理系统项目实施经验谈
- 手机摄像头驱动_手机终端大幅下单 摄像头厂商有喜有忧
- 点击查看更多进行分页,uniapp,分页请求
- word2016 次方符号 上标 下标
- 定义一个圆,求圆的面积
- Linux线程条件控制实现线程的同步pthread_cond_init、pthread_cond_destroy、pthread_cond_wait、pthread_cond_signal
- 查明“天猫618红包”弹窗是谁弹出来的及其解决办法
- combobox组件
- 六边形战斗力满格,高效数据采集从这里开始!