第4 1章 飛鳥集爬蟲採用結巴分詞隨機排序儲存

2021-08-30 19:38:32 字數 1971 閱讀 9330

這個爬蟲非常簡單,但是裡面主要是通過結巴分詞,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...