我们今天来用Python爬虫爬取金庸所有的武侠小说,网址为:http://jinyong.zuopinj.com/,网页如下:


  Python代码如下:

# -*- coding: utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup#获取每本书的章节内容
def get_chapter(url):# 获取网页的源代码html = urllib.request.urlopen(url)  content = html.read().decode('utf8')html.close()# 将网页源代码解析成HTML格式soup = BeautifulSoup(content, "lxml")title = soup.find('h1').text    #获取章节的标题text = soup.find('div', id='htmlContent')    #获取章节的内容#处理章节的内容,使得格式更加整洁、清晰content = text.get_text('\n','br/').replace('\n', '\n    ')content = content.replace('  ', '\n  ')return title, '    '+contentdef main():# 书本列表books = ['射雕英雄传','天龙八部','鹿鼎记','神雕侠侣','笑傲江湖','碧血剑','倚天屠龙记',\'飞狐外传','书剑恩仇录','连城诀','侠客行','越女剑','鸳鸯刀','白马啸西风',\'雪山飞狐']order = [1,2,3,4,5,6,7,8,10,11,12,14,15,13,9]  #order of books to scrapy#list to store each book's scrapying rangepage_range = [1,43,94,145,185,225,248,289,309,329,341,362,363,364,375,385]for i,book in enumerate(books):for num in range(page_range[i],page_range[i+1]):url = "http://jinyong.zuopinj.com/%s/%s.html"%(order[i],num)# 错误处理机制try:title, chapter = get_chapter(url)with open('E://%s.txt'%book, 'a', encoding='gb18030') as f:print(book+':'+title+'-->写入成功!')f.write(title+'\n\n\n')f.write(chapter+'\n\n\n')except Exception as e:print(e) print('全部写入完毕!')main()

  运行结果如下:

上面的运行结果“HTTP Error 404: Not Found”是因为这个网页不存在,并不影响书本内容的完整性。我们可以去E盘查看文件是否下载成功:

·  15本书都下载完毕了!整个过程才用了不到10分钟!爬虫的力量真是伟大啊~~

Python爬虫之40行代码爬取金庸所有武侠小说相关推荐

  1. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

  2. python:利用20行代码爬取网络小说

    文章目录 前言 一.爬虫是什么? 二.实现过程 总结 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 今天,来给大家一个分享一下如何使用20爬虫行代码爬取网络小说(这里我们以龙 ...

  3. 不到30行python代码爬取金庸小说

    爬取金庸小说 代码如下: import requests from bs4 import BeautifulSoupdef get_html(url): html=requests.get(url)h ...

  4. 【Python】爬虫初体验,40行代码爬取双色球2003年至今的开奖号码

    爬虫爬取的双色球开奖号码 按我目前的理解,爬虫的工作原理大致是: 获取目标网页,在网页(html文件)中筛选目标数据,最后把数据导出 利用爬虫爬取数据看似很"高深莫测",只需几分钟 ...

  5. python爬虫代码1000行-Python爬虫教程(16行代码爬百度)

    最近在学习python,不过有一个正则表达式一直搞不懂,自己直接使用最笨的方法写出了一个百度爬虫,只有短短16行代码. 首先安装必背包: pip3 install bs4 pip3 install r ...

  6. Python爬虫教程(16行代码爬百度)

    最近在学习python,不过有一个正则表达式一直搞不懂,自己直接使用最笨的方法写出了一个百度爬虫,只有短短16行代码. 首先安装必背包: pip3 install bs4 pip3 install r ...

  7. 教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!

    教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!! 代码展示: 开发环境: windows10 python3.6 开发工具: pycharm weddriver 库: sel ...

  8. python pyquery不规则数据的抓取_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...

    爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网 前言 上篇文章 PyQuery (一) 回顾.今天来介绍具体 PyQuery 的使用方法. 穷游网目标与分析 开始之前,按照之前的套路一步 ...

  9. python爬上市公司信息_实战项目 1:5 行代码爬取国内所有上市公司信息

    实战项目 1:5 行代码爬取国内所有上市公司信息 Python入门爬虫与数据分析 在正式开始这门专栏课的学习之前,我们先来看一个简单的爬虫案例.兴趣是最好的老师,当你对爬虫产生兴趣的时候,才会更有动力 ...

  10. pyquery获取不到网页完整源代码_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...

    爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网 前言 上篇文章 PyQuery (一) 回顾.今天来介绍具体 PyQuery 的使用方法. 穷游网目标与分析 开始之前,按照之前的套路一步 ...

最新文章

  1. 输入4个同学的姓名学号,语文数学英语信息计算平均成绩,按平均成绩高低排序输出java,c++实现
  2. 【c语言】计算三角形面面积
  3. java method 创建_java中创建对象的5种方式
  4. 浅谈 DDoS 攻击与防御
  5. Redis执行monitor命令报错 (error) NOAUTH Authentication required.
  6. oracle日志可以存多久,oracle存档日志
  7. 如何在南方CASS中内插高程点
  8. 卡通头像生成器Avataaars generator
  9. 定时任务ScheduledExecutorService
  10. 技术之道、思维的力量和人生观
  11. Java面试题-微服务
  12. strace命令使用方式
  13. 如何快速批量修改文件名
  14. 连接器缓解安装困难,节省LED照明设计的空间
  15. 深度学习之卷积神经网络经典网络LeNet-5简介
  16. oracle设计初级,oracle 开发设计一些规范经验
  17. 【猿哥学二建】第一周 考试准备
  18. 原生JS实现无限滚动瀑布流布局
  19. 商业画布是什么-business model canvas
  20. 图解python书_No2.一本书入门python——算法图解

热门文章

  1. access查询出生日期格式转换_Access时间格式处理
  2. 数据库管理系统属于计算机应用,数据库管理系统属于应用软件吗?
  3. 【APP自动化测试必知必会】Appium之微信小程序自动化测试
  4. Roberts算子,matlab代码实现
  5. MTT预实验与免疫染色准备
  6. TLC5615输出256点正弦波(振幅和频率可调)
  7. JAVA EE常见英文单词(一)
  8. matlab 最速下降,matlab最速下降法
  9. matlab cnn 实例,Deep Learning学习 之 CNN代码解析(MATLAB)(示例代码)
  10. 抢先下载:Windows XP SP3英文预览版