Pythonは情報のBeautifulSoupクロールページを使用しています

シンプルなアイデアは、一般的な情報のページがあるクロール

1、ページのソースコードを表示

2、スパイダーは、ウェブをクロール

3、Webコンテンツを解析し、

図4に示すように、ファイルに格納されています

 

今クロールハリネズミインターンシップ位置Pythonの給与状況にBeautifulSoupの解析ライブラリを使用

 

まず、ページのソースコードを表示します

 

 これは、私たちが必要なものの一部に対応するソースコードです:

 

 

 ソースコードの分析では、あなたが学ぶことができます。

図1に示すように、ジョブ情報リスト<部クラス=「ウィジェットジョブ -list」> で

図2に示すように、内の各情報<文書クラス=「ウィジェット項目」 > で

3は、それぞれの情報のために、私たちは、会社名、役職、給与の内容を抽出する必要があります

 

第二に、スパイダーは、ウェブをクロール

使用request.get()クロール、リターンスープは、テキスト情報のページです

デフget_one_page(URL):
    応答 = requests.get(URL)
    スープ = BeautifulSoup(response.text、" html.parser " の戻りスープ

 

第三に、解決のWebコンテンツ

 

1の場所開始<セクション>

2、<記事>情報にマッチ

3、店舗への情報の一覧に戻ります

DEFのparse_page(スープ):
    情報リストに格納される 
    return_list = []
    開始位置 
    グリッドsoup.find =(' sectionTop '、ATTRS = { " クラス"" ウィジェットジョブ・リスト" })
     IF グリッド:
         すべてのポジションを見つけるリスト 
        job_list = soup.find_all(この記事はだっ条、attrsに= { クラスウィジェットの項目を})

        マッチコンテンツ
        のための仕事job_list:
            検索は、()、一致するタグ見つけることが最初です 
            会社job.find =(' A '、attrsに= { " クラス"" 作物はあなたができます" GET_TEXT()ストリップを。})。 () は、ブランクを除去することができる)、改行文字列のタイプ、ストリップ(返し 
            タイトルjob.find =(コード)().get_textを
            給与 = job.find(' スパン'、ATTRS = { " クラス"" 色- 3 " })GET_TEXT()
            リストに格納された情報と戻る 
            (会社+ return_list.append "  " + +タイトルを"  " + 給与)
     の戻りreturn_list

  

第四に、保存されたファイル

ファイルshixi.csvに保存されているリスト情報

DEF write_to_file(コンテンツ):
    コード形式の歪みを防止するために、さらに開放することができるが、提供される 
    オープン(と" shixi.csv "" A "、コード= " GB18030 " )AS F:
        f.write(" \ nは" .join(コンテンツ))

 

情報のページをクロールV.

あなたは、ページのURLに代表の最後のページを見ることができる情報のページ数です

だから、mainメソッドでページを渡され、その後、あなたはへの情報のページをクロールすることができますメインループ(ページ)を実行します

デフメイン(ページ):
    URL = ' https://www.ciweishixi.com/search?key=python&page= ' + STR(ページ)
    スープ = get_one_page(URL)
    return_list = parse_page(スープ)
    write_to_file(return_list)


もし __name__ == " __main__ "  I における範囲(4 ):
        メイン(I)

 

第六に、業績

 

 

七つの完全なコード

インポート要求が
 インポートから BS4 インポートBeautifulSoup


デフget_one_page(URL):
    応答 = requests.get(URL)
    スープ = BeautifulSoup(response.text、" html.parser " の戻りスープ


DEFのparse_page(スープ):
    情報リストに格納される 
    return_list = []
    開始位置 
    グリッドsoup.find =(' sectionTop '、ATTRS = { " クラス"" ウィジェットジョブ・リスト" })
     IF グリッド:
         すべてのポジションを見つけるリスト 
        job_list = soup.find_all(この記事はだっ条、attrsに= { クラスウィジェットの項目を})

        マッチコンテンツ
        のための仕事job_list:
            検索は、()、一致するタグ見つけることが最初です 
            会社job.find =(' A '、attrsに= { " クラス"" 作物はあなたができます" GET_TEXT()ストリップを。})。 () は、ブランクを除去することができる)、改行文字列のタイプ、ストリップ(返し 
            タイトルjob.find =(コード)().get_textを
            給与 = job.find(' スパン'、ATTRS = { " クラス"" 色- 3 " })GET_TEXT()
            リストに格納された情報と戻る 
            (会社+ return_list.append "  " + +タイトルを"  " + 給与)
     の戻りreturn_list


DEF write_to_file(コンテンツ):
    コード形式の歪みを防止するために、さらに開放することができるが、提供される 
    オープン(と" shixi.csv "" A "、コード= " GB18030 " )AS F:
        f.write(" \ nは" .join(コンテンツ))


デフメイン(ページ):
    URL = ' https://www.ciweishixi.com/search?key=python&page= ' + STR(ページ)
    スープ = get_one_page(URL)
    return_list = parse_page(スープ)
    write_to_file(return_list)


もし __name__ == " __main__ "  I における範囲(4 ):
        メイン(I)

 

 

おすすめ

転載: www.cnblogs.com/chenchang-rjgc/p/11921393.html