這個爬蟲非常簡單,但是裡面主要是通過結巴分詞,pip3 install jieba
,將泰戈爾的《飛鳥集》
從**上獲取飛鳥集後,將文件進行逐行過濾,最終生成題目和答案兩個文件。
'''
飛鳥集(泰戈爾)
'''import scrapy
import re
import jieba
import random
from pyquery import pyquery as pq
class
feiniaospider
(scrapy.spider)
: name =
"feiniao"
start_urls =
["",]
defparse
(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 =
# 先過濾長度小於6
lines =
list
(filter
(lambda s:
len(s)
>
6, lines)
)for line in lines:
if re.search(
'\n'
,line)
: valids.extend(line.split(
'\n'))
else
:# 根據長度排序,字少的簡單一些,對小朋友來說就容易造句了。
valids.sort(key=
lambda i:
len(i)
,reverse=
false
)return valids
defrw_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"
)
最終的結果是
飛鳥集經典語句摘錄
飛鳥集 6.不要因為失去太陽而流淚,那麼你也將失去群星。8.她的熱切的臉,如夜雨似的,攪擾著我的夢魂。15.不要因為峭壁是高的,便讓你的愛情坐在峭壁上。21.那些把燈背在背上的人,把他們的影子投到了自己的前面。22.我的存在,對我是乙個永久的神奇,這就是生活。24.休息和工作的關係,正如眼瞼與眼睛的...
品讀 泰戈爾 飛鳥集 之六 傷往昔
如果錯過了太陽時你流了淚,那末你也要錯過群星了。if you shed tears when you miss the sun,you also miss the stars.老師言之有理 這是泰戈爾先生在中國流傳最廣泛的話語之一,常常被人用來勵志。人們多愛回憶過去,但往事一定美麗嗎?未必然也。李煜...
第10章 並查集
include using namespace std 2 n 1000,n表示節點個數 1 m n n 1 2,m表示最大邊數,每個點除自身外,可以和剩下的n 1個點,相連,所以是n n n 1 注意這樣所有的邊倍計算了兩次,所以最後是n n 1 2 const int maxn 500010 i...