文章目录

  • 爬取射雕英雄传连载版
  • 爬取所有金庸作品集中的江湖门派

爬取射雕英雄传连载版

手机上的一本连载版居然没有目录,哎,没目录看着可难受了.
趁着有空,就写了一个脚本提取了下连载版.下次有空的话,再优化下看能不能一次提取金庸作品集.

from bs4 import BeautifulSoup
from urllib import request
import re
html_addr = "http://www.jinyongwang.com/oshe/"
html_content = request.urlopen('http://www.jinyongwang.com/oshe/').read()
soup = BeautifulSoup(html_content,'html.parser')
author = str(soup.select('.author')[0])
author_content = re.findall('<p class="author">(.*?)<a',author)[0]
author_name = re.findall('/">(.*?)</a></p>',author)[0]
author_info = author_content + author_name
all_content = soup.select(".mlist li")
with open('射雕英雄传(连载版).txt','w+',encoding='utf-8') as f:f.write(author_info)f.write('\n'*3)for one_content in all_content:chapter_info = re.findall(">(.*?)</a", str(one_content))[0]chapter_name = re.split(">", chapter_info)[1]chapter_url = re.findall("<a(.*?)>", chapter_info)[0].split("href=")[1].split('/')[2].strip('"')new_chapter_url = html_addr+chapter_urlchapter_url_content = request.urlopen(new_chapter_url).read()one_soup = BeautifulSoup(chapter_url_content, 'html.parser')content = one_soup.select(".bg0")[0].textchapter_content = content.split("(adsbygoogle = window.adsbygoogle || []).push({});")[1]f.write(chapter_name)f.write(chapter_content)f.close()

试了下,导入了手机多看已经有目录了,先看看.如有问题再优化.

用到了正则表达式,还有beautifulsoup,css选择器.
在写 CSS 选择器的时候,标签名不加任何修饰,类名前加点.,id名前加 #.用到的方法是 soup.select(),返回类型是 list.

写文件的时候,w+,可读可写,会覆盖前文件,所以使用的是w+.a+也表示可读可写,以追加的形式写入.

先这样.有机会再改改

爬取所有金庸作品集中的江湖门派

from bs4 import BeautifulSoup
from urllib import request
import re
html_addr = "http://www.jinyongwang.com/data/menpai/"
html_content = request.urlopen(html_addr).read()
soup = BeautifulSoup(html_content,'html.parser')
all_dataname = soup.select(".booklist .dataname span")
all_sect = soup.select(".booklist .datapice")
lens = len(all_dataname)
with open('金庸小说所有门派.txt','w+',encoding='utf-8') as f:for o_len in range(lens):dataname = re.findall(">(.*?)</",str(all_dataname[o_len]))[0]f.write(dataname)f.write('\n')one_sect = re.findall("[/,i]>(.*?)</a>",str(all_sect[o_len]))one_sect = "    ".join(one_sect)f.write(one_sect)f.write('\n'*2)f.close()

输出结果:
金庸作品集中所有的江湖门派:

倚天屠龙记
明教    峨嵋派    天鹰教    昆仑派    龙门镖局    崆峒派    海沙派    巨鲸帮    神拳门    波斯明教    西域少林    虎踞镖局    五凤刀门    高丽青龙派    金刚门笑傲江湖
恒山派    华山派    五岳剑派    嵩山派    泰山派    衡山派    福威镖局    日月神教    武当派    金刀王家    五毒教    华山气宗    华山剑宗    百药门天龙八部
丐帮    星宿派    姑苏慕容    灵鹫宫    无量剑    大理段氏    逍遥派    青城派    蓬莱派    西夏一品堂    伏牛派    大轮寺鹿鼎记
天地会    神龙教    少林寺    清凉寺    王屋派    铁剑门    金顶门    武夷派书剑恩仇录
红花会    言家拳    龙门帮    天山派    嵩阳派    南少林侠客行
雪山派    长乐帮    侠客岛    玄素庄    摩天崖    金乌派    金刀寨射雕英雄传
桃花岛    全真教    铁掌帮    仙霞派神雕侠侣
绝情谷    古墓派碧血剑
金龙帮    仙都派    青竹帮    永胜镖局    渤海派    点苍派    会友镖局    东支    千柳庄    飞虎寨    鄱阳帮    太白派飞狐外传
韦陀门    八卦门    天龙门    太极门    飞马镖局    五虎门    少林派    枫叶庄    镇远镖局连城诀
血刀门雪山飞狐
平通镖局    饮马川山寨    青藏派    无极门    百会寺白马啸西风
晋威镖局鸳鸯刀
威信镖局

代码里这一行

one_sect = "    ".join(one_sect)

是用来将列表转化为字符串的,因为不能写list到文件,只能写str到文件里.

【Python】爬取金庸射雕英雄传连载版以及金庸作品里所有江湖门派相关推荐

  1. python 爬取新浪网站 NBA球员最近2个赛季库里前20场数据

    1. 分析新浪网站中球员数据的获取方式(F12 开发者模式,调试网页): 一般网站保存数据的方式分为2种:1. 静态网页存储:2. 动态请求: 对于静态网页存储来说,就是打开浏览器中查看源码,就可以从 ...

  2. python爬取金庸小说人物

    python 爬虫 python爬取金庸小说人物 ''' 通过http://www.jinyongwang.com/data/renwu/来获取金庸小说中的人物 输出结果为 小说1 人物1 人物2 人 ...

  3. python爬取网页版QQ空间,生成词云图、柱状图、折线图(附源码)

    python爬取网页版QQ空间,生成词云图.柱状图.折线图 最近python课程学完了,琢磨着用python点什么东西,经过一番搜索,盯上了QQ空间,拿走不谢,欢迎点赞收藏,记得github给个sta ...

  4. Python 爬取留言板留言(二):多线程版+selenium模拟

    文章目录 一.项目概述 二.项目实施 1.导入所需要的库 2.全局变量和参数配置 3.产生随机时间和用户代理 4.获取领导的fid 5.获取领导所有留言链接 6.获取留言详情 7.获取并保存领导所有留 ...

  5. [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...

  6. [day2]python网络爬虫实战:爬取美女写真图片(增强版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...

  7. python爬取顶点小说简单版

    python爬取顶点小说简单版 爬取网络资源首先要下载requests库 因为这里面也有数据提取和分析所以也要有etree库,re库 下载库的代码是:pip install 库名 如:pip inst ...

  8. [Python] 爬取 材料力学Ⅰ第六版刘鸿文-指导与例题习题解答

    [Python] 爬取 材料力学Ⅰ第六版刘鸿文-指导与例题习题解答 下载 书<材料力学Ⅰ 第六版刘鸿文-指导与例题习题解答>的全部图片 下载的图片保存在./cailiaolixue里,全部 ...

  9. Python 爬取留言板留言(三):多进程版+selenium模拟

    文章目录 一.项目概述 二.项目实施 1.导入所需要的库 2.全局变量和参数配置 3.产生随机时间和用户代理 4.获取领导的fid 5.获取领导所有留言链接 6.获取留言详情 7.获取并保存领导所有留 ...

最新文章

  1. Linux下使用ssh密钥实现无交互备份
  2. P1282 多米诺骨牌 (差值DP+背包)
  3. SQL读书笔记_With Clause的注意事项
  4. 线性表的链式存储结构(C语言版)
  5. 对《生产流水线模式》讨论的总结性回复
  6. 水厂计算机知识,计算机信息在水厂中的管理与应用的探讨
  7. php 中文截断,PHP中实现中文字串截取无乱码的解决方法
  8. mysql灰度更新_灰度发布系统架构设计
  9. STM32工作笔记0019---新建工程模板-基于固件库-M3
  10. 《深入浅出统计学》总结
  11. 如何优雅的使用迅雷(Mac)
  12. qq linux五笔输入法下载官网,QQ五笔输入法下载_QQ五笔输入法下载2021官方下载-太平洋下载中心...
  13. VC程序获取管理员权限
  14. 教你PDF怎么压缩的小一点?PDF压缩方法
  15. mysql查询出现ambiguous的问题
  16. Hive/MaxCompute SQL性能优化(三):数据倾斜优化实战
  17. Android 適配器的回調
  18. Eclipse设置UTF-8编码格式
  19. 电动车AMT换挡规律研究——换挡点计算
  20. 中冠百年|工薪族怎么投资理财

热门文章

  1. Spark全套知识体系,终于搞到了!
  2. GitHub 报告揭示香港码农大爆发,老实的程序员:转行只因工资高!
  3. 定积分应用——求旋转体体积
  4. 【Linux】Linux 指令练习题 (一)
  5. 南大金陵学院 计算机,以赛促学,南大金陵学子在全国大学生计算机设计大赛摘得一等奖1项和二等奖4项...
  6. 记录js逆向5秒dun的日子
  7. 全国程序员薪酬大曝光!看完我酸了····
  8. Windows电脑上那些为人熟知的视频剪辑调色应用
  9. R语言-模型拟合及预测(新数据集)常见问题及解决方案
  10. Android 监听来去电状态的实现