从笔下文学网站爬取一本名为《剑来》的小说,作者为烽火戏诸侯

网站网址如下:https://www.bxwxorg.com/

①通过查看网页源码找规律(在此之前请弄清楚网站允许爬取的部分,就该网站而言,没有限制)

②编写代码,实现功能

import requests
from bs4 import BeautifulSoup  # 引入BS库def text_save(filename, data):  # 定义函数将列表中数据写入到文件中,filename为写入的文件,data为要写入数据列表.file = open(filename, 'w', encoding='utf-8')for i in range(len(data)):s = str(data[i]).replace('[', '').replace(']', '')  # 去除[]s = s.replace("'", '').replace(',', '') + '\n'  # 去除单引号,逗号,每行末尾追加换行符file.write(s)  # 将列表中数据依次写入文件中file.close()print("保存文件成功")res = requests.get('https://www.bxwxorg.com/read/6964/')
html = res.text
soup = BeautifulSoup(html, 'html.parser')
find_title = soup.find('div', id="info")  # 查找书名和作者名字的父级标签
title = find_title.find('h1')  # 获取书名
author = find_title.find('p')  # 获取作者名字
print('书名:', title.text, '\n作者:', author.text[5:])  # 打印书名和作者名字
find_intro = soup.find('div', id="intro")  # 查找书籍简介的父级标签
intro = find_intro.find('p')  # 获取书籍简介
print('简介:', intro.text)  # 打印书籍简介
list_all = []  # 创建一个列表,为之后临时存放小说内容做铺垫
global m    # 定义全局变量,记录列表中的元素个数
global n    # 定义全局变量,记录之后列表中需要切片的位置(即最新章节部分所占的位置)
m = -1
n = 0find_list = soup.find('dl')
lists = find_list.find_all('dd')  # 查找章节内容的父级标签
for list_n in lists:a = list_n.find('a')name = a.text  # 获取章节名称chapter_url = a['href']  # 获取章节链接res1 = requests.get(chapter_url)  # 开始根据章节链接获取章节内容html1 = res1.textsoup1 = BeautifulSoup(html1, 'html.parser')find_article = soup1.find('div', id="content")articles = find_article.find_all('p')print(name, chapter_url)list_all.append([name])  # 将得到的章节名称加入到列表中m = m + 1if name == "序章":n = m - 3   # -3是为了给小说名字,作者姓名以及小说简介空出位置留待之后替换使用print(n)for article in articles:  # 通过循环遍历得到小说一章节的内容并将其写入到列表中list_all.append([article.text])m = m + 1
list_m = []
list_m = list_all[n:-1]  # 通过切片去掉小说前面的最新章节部分,避免与之后重复,并将其赋值给一个新的列表
list_m[0:3] = [title.text, author.text, intro.text]  # 将列表中前三个元素替换为小说名字,作者姓名以及小说简介
text_save('剑来.txt', list_m)  # 调用函数将列表内容存储到TXT文件中

③结果如下

第一次编写爬虫程序,比较没有思路,本程序通过列表方法暂存数据以实现写入txt文件,比较耗时,如果有更好的方法希望可以教教我。

Python爬虫——简单爬取(从网站上爬取一本小说)相关推荐

  1. Python实践 - 网络爬虫笔记 - 2、从网站上爬取公开信息

    Python实践笔记 - 2.从网站上爬取公开信息 张板书的Python的实践笔记,包括笔记与DeBug的经历. 为了完成一个比较麻烦的实习任务,尝试着做了这样一个爬虫项目. 任务要求之一是要检索安徽 ...

  2. 利用python编写爬虫程序,从招聘网站上爬取数据,将数据存入到MongoDB数据库中,将存入的数据作一定的数据清洗后做数据分析,最后将分析的结果做数据可视化

    教程演示 创建爬虫项目 编写需要爬取的字段(items.py) 编写spider文件(wuyou.py) 编写数据库连接(pipelines.py) 编写反爬措施(settings.py) Mongo ...

  3. python爬虫系列(5.3-动态网站的爬取的策略)

    一.认识动态网站 所谓的动态网站,是使用ajax加载出来的网页,我们打开网页的时候可以正常显示内容,但是我们在显示网页源代码的时候,里面却找不到该节点. 二.常见动态网站的抓取方式 1.直接分析aja ...

  4. java抓取网页数据_Golang丨Java丨Python爬虫实战—Boss直聘网站数据抓取

    我们分别通过Golang.Python.Java三门语言,分别实现对Boss直聘网站的招聘数据进行爬取. 首先打开Boss直聘网站: 然后我们在职位类型中输入Go或者Golang关键字: 然后我们可以 ...

  5. 【Python 爬虫简单的JavaScript逆向实战】抓取中国电影票房的数据

    开篇闲聊 最近也是看完了崔庆才爬虫52讲里面JavaScript逆向部分,里面介绍了从简单到复杂整个JavaScript逆向的方法,里面也有一些实战案例(可以练习的),跟着视频练习之后,虽然也成功了, ...

  6. Python爬虫项目,获取所有网站上的新闻,并保存到数据库中,解析html网页等(未完待续)

    1.需求说明 需求: 爬取虎嗅网站的所有新闻,并保存到数据库中. http://www.huxiu.com 技术: 1.爬虫 获取服务器的资源(urllib) 解析html网页(BeautifulSo ...

  7. python爬虫下载小说_用PYTHON爬虫简单爬取网络小说

    用PYTHON爬虫简单爬取网络小说. 这里是17K小说网上,随便找了一本小说,名字是<千万大奖>. 里面主要是三个函数: 1.get_download_url() 用于获取该小说的所有章节 ...

  8. 用PYTHON爬虫简单爬取网络小说

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  9. 爬虫入门--爬取就业网站上的岗位信息构造数据集

    爬虫入门--爬取就业网站上的岗位信息.解析爬取的数据构造数据集 爬虫入门实践 爬虫的基本概念 爬虫的技术实现 爬虫入门实践 大家好!随着大数据分析逐渐火热的今天,爬虫技能也成了数据分析师一项不可或缺的 ...

  10. Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片

    Python爬虫:运用多线程.IP代理模块爬取百度图片上小姐姐的图片 1.爬取输入类型的图片数量(用于给用户提示) 使用过百度图片的读者会发现,在搜索栏上输入关键词之后,会显示出搜索的结果,小编想大多 ...

最新文章

  1. SAP UI5 myTask setBindingContext in SAP Fiori application
  2. 【QGIS入门实战精品教程】3.2:QGIS如何打开ArcGIS创建的个人数据库(MDB)?
  3. Shell数组操作(添加、删除元素、清空、遍历)
  4. java int数组任何数之间间隔不能对于指定数,内付极速排序
  5. DIOCP开源项目-DIOCP3的重生和稳定版本发布
  6. Ubuntu常用命令及git常用命令
  7. php调用纯真ip,php调用纯真IP数据库进行IP定位
  8. es6标准入门(第三版)_阮一峰 pdf
  9. advised by org.springframework.transaction.interceptor.TransactionInterceptor.invoke(org.aopallian
  10. 虚拟机ping不通主机
  11. 超详细的文件上传和下载(Spring Boot)
  12. 普乐蛙VR航天体验|航天vr设备|航空vr设备厂家案例分享
  13. Python-梯度下降法实践
  14. Android权限警告(Signature|privileged permissions not in privapp-permissions whitelist)
  15. python 英语翻译_python 中英文翻译
  16. 百度语音合成与语音识别api使用(Java版本)
  17. aac转化为mp3,详细的转换步骤
  18. 计算机教育在线投稿,《计算机教育》杂志投稿的一些成功技巧
  19. C#中TextBox实现换行
  20. Qt5.订餐系统源代码

热门文章

  1. 今天打针!---做自己不敢做的
  2. RSA加密算法个人理解
  3. JSP+JDBC+XML+mysql实现企业电子投票系统
  4. 手机蓝牙连接GPrinter打印机进行打印 iOS
  5. 什么是设计?设计为什么需要准则?
  6. 本人实现的视频翻译字幕并导出srt
  7. html异形轮播,javascript实现异形滚动轮播
  8. 新iPhone 14第一次充电需要注意哪些问题?
  9. VMware将虚机导出为ova镜像
  10. 优化 | 谈谈运筹学在工业界应用的心得体会