这个爬虫非常简单,但是里面主要是通过结巴分词,pip3 install jieba,将泰戈尔的《飞鸟集》
从网站上获取飞鸟集后,将文档进行逐行过滤,最终生成题目和答案两个文档。

'''
飞鸟集(泰戈尔)
'''
import scrapy
import re
import jieba
import random
from pyquery import PyQuery as pqclass FeiNiaoSpider(scrapy.Spider):name = "feiniao"start_urls = ["http://www.eywedu.net/taigeer/002(1).htm",]def parse(self, response):soup = pq(response.body_as_unicode())content = soup('div.Section1 td:eq(1) p').text()lines = content.split(' ')valids = self.filter_invalid(lines)# w+,表示每次都会覆盖文件。timu_file = open('../files/timu.txt','w+')daan_file = open('../files/daan.txt','w+')for para in valids:self.rw_file(para,timu_file,daan_file)# 不要忘了关掉文件timu_file.close()daan_file.close()def filter_invalid(self, lines):valids = []# 先过滤长度小于6lines = list(filter(lambda s:len(s)>6, lines))for line in lines:if re.search('\n',line):valids.extend(line.split('\n'))else:valids.append(line)# 根据长度排序,字少的简单一些,对小朋友来说就容易造句了。valids.sort(key=lambda i:len(i),reverse=False)return validsdef rw_file(self,para,timu_file,daan_file):c = jieba.cut(para,cut_all=True)e = " ".join(c)f = e.split(" ")# 这个将分词进行随机打乱。random.shuffle(f)h = ' '.join(f)# 将题目和答案写到对应的文档里面曲。timu_file.writelines(h+"\n\n\n\n")daan_file.writelines(para+"\n\n\n\n")

最终的结果是

第4.1章 飞鸟集爬虫采用结巴分词随机排序存储相关推荐

  1. python影评_python爬虫及结巴分词《攀登者》影评分析

    <攀登者>影评爬取及分析 0.项目结构 其中simkai.ttf为字体文件,Windows查看系统自带的字体 C:\Windows\Fonts 一.爬取豆瓣影评数据 # -*- codin ...

  2. 【RHCA翻译计划】EX436第一章:集群存储概论2

    1.11 SAN存储技术: 从存储到主机之间的网络连接有多种不同的机制,包括DAS.SAN.NAS等,而针对大型应用,关键应用常常采用SAN存储架构,其优点是高性能,易拓展,而缺点则是管理复杂.价格昂 ...

  3. Python精确指南——第三章 Selenium和爬虫

    3       Selenium 3.1     介绍 网络爬虫在互联网领域有着广泛的应用. Selenium是一个页面自动化控制框架.能够模拟实际操作,自动化获取网站提供的页面资源信息. Selen ...

  4. 《Python爬虫开发与项目实战》——第3章 初识网络爬虫 3.1 网络爬虫概述

    本节书摘来自华章计算机<Python爬虫开发与项目实战>一书中的第3章,第3.1节,作者:范传辉著,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第3章 初识网 ...

  5. oracle数据库集群采用的是形式,铁道部采用Oracle集群数据库进行TMIS系统“三级建库”...

    综述 铁道部利用Oracle9i集群数据库系统(Oracle9i RAC),顺利开展铁道部运输管理信息系统(TMIS)的"三级建库"工程--在各铁路局和铁路分局利用Oracle9i ...

  6. Etcd教程 — 第二章 Etcd集群静态发现

    Etcd教程 - 第二章 Etcd集群静态发现 一.Etcd集群安装方式 二.Etcd集群静态发现 2.1 静态启动的方式 ※2.2 单机搭建Etcd集群 2.2.1 安装 goreman工具 2.2 ...

  7. 我的第一个Android应用软件——《飞鸟集》

    接触Android系统已经将近两年了:虽然说一直侧重于Android framework层的开发和维护,但是我对Android应用软件的开发,却有着浓厚的兴趣.最近,终于有了时间和机会来实现压在心底很 ...

  8. 第二章 DMDSC集群搭建

    第二章 DMDSC集群搭建 第一章 DMDSC集群介绍 文章目录 第二章 DMDSC集群搭建 五.DMDSC部署 5.1集群规划 5.2.存储规划 5.2.1划分存储(虚拟机一共分配了60G) 5.2 ...

  9. Hbase高手之路 -- 第二章 -- HBase集群的搭建

    Hbase高手之路 – 第二章 – HBase集群的搭建 一. 下载并安装 1. 下载安装包 2. 上传服务器 3. 解压 tar -zxvf hbase-2.4.10-bin.tar.gz -C . ...

  10. 集成树模型系列之一——随机森林

    集成树模型系列之一--随机森林 随机森林一般会被认为集成树模型的开端,虽然现在工业或者比赛中都很少会被应用,但是我们学习集成树模型都绕不过它,它的一些思想被广泛地应用到后面的集成树模型中. 随机森林这 ...

最新文章

  1. 2009 Competition Highlights by ICPC Live
  2. Windows下curl使用
  3. 代码审核工具ReviewBoard在Windows下安装问题
  4. Python-多进程
  5. [Vue warn]: You are using the runtime-only build of Vue 牵扯到Vue runtime-compiler与runtime-only区别
  6. STM32 - 定时器的设定 - 基础 01 - Timer Base - Prescaler description - Upcounting mode
  7. 摆摊真的一个月能上万嘛
  8. BG2EE 术士solo
  9. DevOps使用教程 华为云(8)代码托管 代码仓库 git协作开发
  10. 河南自考本科英语可用计算机代替,河南自考选考2至3门专业课可代替英语课程...
  11. STM32基础8--通用定时器(PWM控制LED)
  12. 计算机病毒学课本,计算机病毒及防治教案
  13. dejavu-python的音频指纹识别库
  14. 《电路原理》清华公开课 week1 支路变量、元件、KCL、KVL
  15. 关于sp和unity近似的PBR的一篇国外文章
  16. 如何利用新闻营销提高商品成交率?
  17. JavaScript实现鼠标点击监听---弹出社会主义核心价值观(面向对象小练习)
  18. 上海居住证 居转户条件
  19. PayPal收款手续费是多少钱?
  20. es6,es7,webpack 和 babel(爱前端)

热门文章

  1. (什么是 RPC?) AND(什么是域名?)AND (DMA是什么?)AND(IRQ是什么?) 选择自 ycool1984 的 Blog
  2. CloseHandle(),TerminateThread(),ExitThread()的区别
  3. 2023齐齐哈尔大学计算机考研信息汇总
  4. 完整Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站
  5. Javascript 设计模式 -- Revealing Module(揭示模块)模式
  6. 用Delphi开发微信支付和支付宝支付生成签名并提交刷卡支付请求验证源码
  7. 对YOLO bounding box的理解
  8. 利用重抽样获取mgcv包的广义可加模型函数曲线的可信区间(3)
  9. Kafka彻底删除topic详解
  10. 免费 GIS 软件资源介绍,大家值得收藏