アイデア:
1、リンクをコピーし、書籍、「もっと、」解説を開きます
2、スクリプトリンク分析は、いくつかの短い解説を取ることによって、ページ数を計算します
3、ページ数、ページがサイクル解説をクロールするとき
TXTに書き込まれた4、解説
5、TXTテキスト読書、テキスト処理句は、最も頻繁に、出力(X-前)が表示されます----自由他の発散の分析によって得られた結果
ライブラリを使用します。
lxmlの、再、jieba、時間
スクリプト全体は次のよう
#- * -コーディング:UTF8 - * - #エンコーディング:UTF8 #豆瓣每页20条评论 インポート要求 から lxmlのインポートetree インポート再 インポートjieba インポート時間 firstlink = " https://book.douban.com/subject/ 30193594 /コメント/ 「 デフ stepc(firstlink): #获取评论条数 = URL firstlink 応答 = requests.get(URL = URL) wb_data = response.text のhtml = etree.HTML(wb_data) AHtml.xpath =(' // * [ID = "全コメント" @] /テキスト()' ) リターン(A) A = stepc(firstlink) C = re.sub(R&LT ' \ D '、"" 、[0]) #を返すコメントスクリーニングデジタル Dは= INT(INT(C)/ 20 + 1) #は、コメントの数でページ数、コメント数/ 20 + 1を算出する プリント(" 現在のレビューが持っている" + STR(D )+ " ページ、我慢してください" ) DEFの STEPA(firstlink、D): #はレビュー読んで 内容を= [] のためのページ内の範囲(1 、D): URL = firstlink + " ホット?P " + STR(ページ) レスポンス = requests.get(URL = URL) wb_data = response.text のhtml = etree.HTML(wb_data) A = html.xpath(" // * [@ ID = "コメント"] // DIV [2] / P /スパン/テキスト()' ) content.append(A) リターン(コンテンツ) A = STEPA(firstlink、D) デフ STEPB(A): #写入txtを するための B 中: 用 C でB: オープンして(":/Users/Beckham/Desktop/python/2.txt C '、' A '、エンコーディング= ' UTF-8 ' W AS): w.write(' \ N- ' + C)は (w.close ) STEPB(A) 印刷(" 完全なレビューをクロールし、キーワード分析" ) time.sleep( 5 ) DEFの stepd(): #のコメントの分析 TXT =オープン(" C:\\ \\ベッカムユーザー\\デスクトップ2.txtのPython \\ \\ " " R 」、エンコーディング= " UTF-8 ').read() #オープンセイバーテキスト をexculdes = {} #は、辞書を作成し、主のためにランキング非文字を格納するために使用され、後に使用して除去 ワード= jieba.lcut(TXT) #のテキスト解析するjiebaライブラリ =カウントを{} のためのワードに言葉は: #アッセイにフレーズをスクリーニングした後 のIFでlen(ワード)== 1: #1フレーズよりも大きな文字の数が考慮されているフレーズ、その本は、コンテンツ1のエンドポイントに引き続き読み取ることで文字があるため、 引き続き 他: ワード = ワード カウント[単語] = counts.get(ワード、0)+1 #単語の出現統計の頻度、単語が単語でない場合、戻り値は0であり、単語rwordで、および+1にこれはカウント蓄積 のためのWord でexculdes: #流通しているコンテンツとリードをexculdesフレーズ辞書が一致した場合、次いで濾過(図示せず)フレーズ デル(カウント[ワード]) 項目 =リスト(counts.items()) #のリストする辞書 項目を。ソート(キー= ラムダ X:[1]のX、リバース= TRUE) #ラムダは、暗黙的な機能、固定文言で、次のコマンドの意味は、ソートされた2の記録に基づいている ため、私にレンジ(15): #は、最初に示しました15データ ワード、COUNT = 項目[I] 印刷(" {0:<{10} 1:> 10} " .format(ワード、COUNT)) #0:<10左、幅10、 "> 10"右揃え stepd() 印刷(「解析完全に」)
結果
頻繁にこのスクリプトを実行する場合には、なお、クレソンと思いますあまりにも多くのIPアクセスポップアップ登録したいページ
その他の解決、スクリプト内のコメントがあります