猫の目の映画のリストをクロール[Pythonの爬虫類]

インポート要求が
 インポートから requests.exceptions インポートRequestExceptionの
 輸入JSON
 からマルチプロセッシングインポートプールは
 デフ(URL)をget_one_page:
    ヘッダ = {
     ' のUser-Agent '" Mozillaの/ 5.0(Windows NTの10.0; Win64の、x64の)のAppleWebKit / 537.36(KHTML、 Gecko)クローム/ 73.0.3683.86サファリ/ 537.36のような" 
} 
    してみてください
        応答 = requests.get(URL、ヘッダ= ヘッダ)
         の場合 response.status_codeの== 200 戻らないresponse.text
         戻りなしを
     除いてRequestException:
         返すなし
 デフparse_one_page(HTML)を:
    パターン(= re.compile 。?。?。?<DD> *ボード・インデックス*>(\ D *)</ i>は*データ-src = "(。*?)"。*?名前"> <a '+'
                        .*?> (。*?)</a>の。*?スター">(。*?)</ P>。 *?releasetime ">(。*?)</ P> ' 
                       + ' 。*?整数">(。*?)</ I>。*?分数">(。*?)</ I>。*? </ DD> ' 、re.S)
    項目 = re.findall(パターン、
    HTML) のためのアイテムアイテム:
         収量{
             ' インデックス' :項目[0]、
             ' イメージ':項目[1 ]、
             ' タイトル':項目[2 ]、
             ' 俳優':項目[3] .strip()[3 :]、
             ' 時間':アイテム[4] .strip()[5 :]、
             ' スコア':項目[5] +項目[6 ] 
        } 

DEF write_to_file(コンテンツ):
    オープン(と' result.txt '' '、エンコード= 'UTF-8 ' )、Fとして:
        f.write(json.dumps(コンテンツ、ensure_ascii =偽)+ ' \ nが' 
        f.close()を
DEF )オフセット(主:
    URL = ' https://maoyan.com/ボード/ 4 =オフセット?' + STR(オフセット)
    のhtml = get_one_page(URL)
     のための項目parse_one_page(HTML):
         プリント(アイテム)
        write_to_file(項目)

の場合 __name__ == ' __main__ " 
    プール = プール()
    pool.map (メイン、[I* 10 のための I における範囲(10)])

 

おすすめ

転載: www.cnblogs.com/lightmonster/p/11529647.html