Python Webクローラーをすぐに使い始めましょう!ゼロベースの入門チュートリアル!

環境への準備:

事前にインストールされているpycharm
は、[ファイル]-> [設定]-> [プロジェクト]-> [プロジェクトインタープリター]を開きます。


プラス記号(写真の赤い円内)をクリックします


赤い丸のボタンをクリックしてください


最初のリンクを選択し、鉛筆をクリックして、元のリンクを次のように置き換えます(ここで置き換えられています):
https //pypi.tuna.tsinghua.edu.cn/simple/
[OK]をクリックした、requests-htmlと入力し、Enterキーを押して
選択ます。リクエスト後に[パッケージのインストール]をクリックします-html


インストールが成功するのを待ち、閉じます

Webページのソースコードを解析する

コンテンツの例:
特定のブロガーのすべての記事から目的のコンテンツをクロールします。
背景の例:
ブロガーのすべての記事(https://me.csdn.net/weixin_44286745)から、各記事のタイトル、時間、および読み取り量を取得します。

  1. HTMLSessionメソッドをrequests_htmlにインポートし、そのオブジェクトを作成します
requests_htmlからimportHTMLSession 
session = HTMLSession()

123
  1. get requestを使用して、Webサイトをクロールし、ページのソースコードを取得します。
html = session.get( "https://me.csdn.net/weixin_44286745")。html 

12
  • すべての記事を検索
  allBlog = html.xpath( "// dl [@ class = 'tab_page_list']")
1
  • Webサイトのホームページを入力します(この例では:https://me.csdn.net/weixin_44286745)
  • 記事の空白部分を右クリックして、この記事のラベルを見つけます
  • 他の記事と同じように操作してから、すべての記事に共通のタグを見つけます(ここでのすべての記事のクラスは「my_tab_page_con」です)
  • xpathは、htmlのさまざまなタグと属性をトラバースして、必要な情報を見つけて抽出できます。
  • タイトル、閲覧量、日付を取得するためのWebページ分析。
allBlogのfori:
    title = i.xpath( "dl / dt / h3 / a")[0] .text 
    views = i.xpath( "// div [@ class = 'tab_page_b_l fl']")[0] .text 
    date = i.xpath( "// div [@ class = 'tab_page_b_r fr']")[0] .text 
    print(title + '' + views + '' + date)
12345

Web分析:

  • 複数の記事があるため、forループを使用して個別に取得され、上記のコードはすべての記事を取得しているため、私は記事を意味します
  • 記事のタイトルを取得するコードの2行目は、記事の取得と似ています。タイトルにマウスを置き、右クリックして確認します。記事にはタイトルが1つしかないため、絶対パスを使用してラベルごとにタイトル位置レイヤーに移動できます。
  • xpathが返すのはリストです。最初のリストが必要なので、添え字を追加する必要があり(リストには要素が1つしかない)、出力するのはテキストなので、textがテキストを取得します。
  • 読み取り量と時間も繰り返し操作です
  • 相対パスまたは絶対パスを使用できます。通常、相対パスが使用され、形式はコードに基づいてモデル化されます。
  • コードの5行目は、記事に関する情報が取得されるたびに出力され、トラバース後にすべての情報を取得できます。
  •  

完全なコード:

fromrequests_htmlインポートHTMLSession
セッション= HTMLSession()


html = session.get( "https://me.csdn.net/weixin_44286745")。html 

allBlog = html.xpath(" // dl [@ class = 'tab_page_list'] " )

for i in allBlog:
    title = i.xpath( "dl / dt / h3 / a")[0] .text 
    views = i.xpath( "// div [@ class = 'tab_page_b_l fl']")[0 ] .text 
    date = i.xpath( "// div [@ class = 'tab_page_b_r fr']")[0] .text 
    print(title + '' + views + '' + date)

1234567891011121314
  •  

記事の写真など、他のものを自分でクロールして、自分で試してみてください。
つづく

html経由でリクエスト

完全なプロジェクトコードを入手するには、ここをクリックしてください

 

 

おすすめ

転載: blog.csdn.net/weixin_43881394/article/details/109077749