クロール「のリクエストを通じて、再(正規表現)古代詩と散文」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()の
結果: