爬虫類パイソンの知人:「古代の詩」Webデータをクロール正規表現を使用して

 クロール「のリクエストを通じて、再(正規表現)古代詩と散文」Webデータ。

次のように詳細なコードは次のとおりです。

/ユーザー/ binにENVパイソン!の
#1 著者:シンプル・サー時間:2019年7月31日22時01 
#は、ページ古代テキストデータクロール
インポートインポート要求を

DEF getHtml(ページ):
     「」 ' 
    ウェブページデータ取得
    PARAMを:ページ:ページ
    :リターン:htmlページデータ(テキスト形式)
    '' ' 
    ヘッダ = {
         ' のUser-Agent '' Mozillaの/ 5.0(Windows NTの10.0; Win64の、x64-)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/サファリ75.0.3770.100 / 537.36 ' 
    } 
    URL = ' https://www.gushiwen.org/default_{}.aspx' .Format(ページ)   #は、データページの取得 
    RESPONS = requests.get(URL、ヘッダ= ヘッダ)
    HTML = respons.text
     リターンHTML 

DEF :のgetText(HTML)
    タイトル = re.findall(R&LT ' の<divクラス=「CONTを「>。*?<B>(。*?)</ B> "、HTML、re.DOTALL) #   )、re.DOTALLは、すべての文字に一致するタイトルを取得\ nは(含まれている。N- \一致することはできません 
    caodai = re.findall (R&LT ' <Pクラス= "ソース">。*?<A。*?>(。*?)</a>の'、HTML、re.DOTALL)  取得王朝の 
    著者= re.findall(R&LT " <Pクラス= "ソース">。* ?<。*?>。*?<。*?>(。*?)</a>の、HTML、re.DOTALL)  王朝の取得 
    内容re.findall =(R&LTを' <DIV CLASS = "contsonを。" *?>(。*?)</ DIV> '、HTML、re.DOTALL)  タグシンボルからなるコンテンツへのアクセス、 
    con_textsの= [] #のコンテンツ、タグなしのシンボル
    のための I における内容:
        RSUB = re.sub(' <。*?> ''' 、I)
        con_texts.append(rsub.strip()) 空間にストリップ 
    のSi = []
     のために V でのZIP(タイトル、caodai、著者、con_texts):
        BT、CD、ZZ、NR = V 
        S = {
            ' タイトル' :BT、
             ' 王朝' :CD、
             ' 著者' :ZZ、
             ' コンテンツ' :NR 
        } 
        si.append(S)
    リターンSiの

DEF メイン():
    P- = INT(INPUT(" あなたはどのように多くのページを取得したいです?データ\ N- ' ))
     のためのページの範囲(1 ,. 1 + P。 ):
         印刷する' ページデータ{}上:" .format(ページ))
        HTML = getHtml(ページ)
        のテキスト =getText(HTML)
         のためのテキスト:
             プリント(I)

の場合 __name__ == ' __main__ ' 
    main()の
「古代の詩」Webデータをクロール

 結果:

 

 

おすすめ

転載: www.cnblogs.com/simple-li/p/11284096.html