目次
Python3基本クローラーの始め方
ホームページ バックエンド開発 Python チュートリアル Python3 の基本的なクローラーの概要

Python3 の基本的なクローラーの概要

Sep 25, 2017 am 10:53 AM
python3 ベース 導入


Python3基本クローラーの始め方

初めてブログを書くので少し緊張しているので、嫌な方はコメントしないでください。
不備がございましたら、読者の皆様にご指摘いただければ必ず修正させていただきます。

学习爬虫之前你需要了解(个人建议,铁头娃可以无视):
- **少许网页制作知识,起码要明白什么标签...**
- **相关语言基础知识。比如用java做爬虫起码会用Java语言,用python做爬虫起码要会用python语言...**
- **一些网络相关知识。比如TCP/IP、cookie之类的知识,明白网页打开的原理。**
- **国家法律。知道哪些能爬,哪些不能爬,别瞎爬。**
ログイン後にコピー

タイトルにあるように、この記事のコードはすべて python3.6.X を使用しています。

まず、インストールする必要があります(pip3 install xxxx、ワンクリックでOKです)

  1. requestsモジュール

  2. BeautifulSoupモジュール(またはlxmlモジュール)

これら2つのライブラリは非常に強力です、リクエストはWebページを送信するために使用され、Webページをリクエストして開きます。Beautifulsoupとlxmlはコンテンツを解析して必要なものを抽出するために使用されます。 BeautifulSoup は正規表現を優先し、lxml は XPath を優先します。私は beautifulsoup ライブラリの使用に慣れているため、この記事では主に beautifulsoup ライブラリを使用し、lxml についてはあまり詳しく説明しません。 (使用する前にドキュメントを読むことをお勧めします)

クローラーの主な構造:

  • マネージャー: クロールするアドレスを管理します。

  • ダウンローダー: Web ページの情報をダウンロードします。

  • フィルター: ダウンロードした Web ページ情報から必要なコンテンツをフィルターで除外します。

  • ストレージ: ダウンロードしたものを保存したい場所に保存します。 (実際の状況に応じて、これはオプションです。)

sracpy から urllib に至るまで、私が接触したすべての Web クローラーは、基本的にこの構造から逃れることはできません。この構造を知っていれば、暗記する必要はありません。知っておくと、少なくとも書くときに何を書いているかがわかるようになり、バグが発生したときにどこをデバッグすればよいかがわかるようになります。

前にはナンセンスがたくさんあります...テキストは次のとおりです:

この記事では、https://baike.baidu.com/item/Python (Python の Baidu エントリを例として) のクローリングを使用します。

(スクリーンショットを撮るのが面倒なので…この記事の写真はこれだけになります)

Python エントリのコンテンツをクロールしたい場合は、まず、クロールしたい URL を知る必要があります:

url = 'https://baike.baidu.com/item/Python'
ログイン後にコピー

このページをクロールするだけなので管理人はOKです。

 html = request.urlopen(url)
ログイン後にコピー

urlopen() 関数を呼び出します。ダウンローダーは OK です

    Soup = BeautifulSoup(html,"html.parser")
    baike = Soup.find_all("p",class_='lemma-summary')
ログイン後にコピー

Beautifulsoup ライブラリの beautifulsoup 関数を find_all 関数と一緒に使用してください、パーサーは OK です
ここで、find_all 関数の戻り値はリスト。したがって、出力をループで出力する必要があります。

この例は保存する必要がなく、直接印刷できるため、次のようになります:

for content in baike:    
print (content.get_text())
ログイン後にコピー

get_text() はラベル内のテキストを抽出するために使用されます。

上記のコードを整理します:

import requestsfrom bs4 import BeautifulSoupfrom urllib import requestimport reif __name__ == '__main__':
    url = 'https://baike.baidu.com/item/Python'
    html = request.urlopen(url)
    Soup = BeautifulSoup(html,"html.parser")
    baike = Soup.find_all("p",class_='lemma-summary')    for content in baike:        print (content.get_text())
ログイン後にコピー

Baidu百科事典のエントリが表示されます。
同様の方法で一部の小説、写真、見出しなどもクロールできますが、エントリに限定されるものではありません。
この記事を閉じた後にこのプログラムを作成できた場合は、おめでとうございます。開始されました。コードを決して暗記しないでください。

手順省略…全体の工程がちょっと雑です…すいません…滑りました( ̄ー ̄)…

以上がPython3 の基本的なクローラーの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python ORM パフォーマンス ベンチマーク: さまざまな ORM フレームワークの比較 Python ORM パフォーマンス ベンチマーク: さまざまな ORM フレームワークの比較 Mar 18, 2024 am 09:10 AM

オブジェクト リレーショナル マッピング (ORM) フレームワークは、Python 開発において重要な役割を果たします。オブジェクト データベースとリレーショナル データベースの間にブリッジを構築することで、データ アクセスと管理を簡素化します。さまざまな ORM フレームワークのパフォーマンスを評価するために、この記事では次の一般的なフレームワークに対してベンチマークを実行します。 sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM テスト方法 ベンチマークでは、100 万レコードを含む SQLite データベースを使用します。テストでは、データベースに対して次の操作を実行しました。 挿入: テーブルに 10,000 件の新しいレコードを挿入します。 読み取り: テーブル内のすべてのレコードを読み取ります。 更新: テーブル内のすべてのレコードの 1 つのフィールドを更新します。 削除: テーブル内のすべてのレコードを削除します。 各操作

Yii フレームワークの紹介: Yii の核となる概念を理解する Yii フレームワークの紹介: Yii の核となる概念を理解する Jun 21, 2023 am 09:39 AM

Yii フレームワークは、Web アプリケーション開発時に効率性と信頼性が高い、高性能、拡張性、保守性の高い PHP 開発フレームワークです。 Yii フレームワークの主な利点は、その独自の機能と開発方法にあり、同時に多くの実用的なツールと機能が統合されていることです。 Yii フレームワークの中心概念である MVC パターン、Yii は MVC (Model-View-Controller) パターンを採用しています。これは、アプリケーションを 3 つの独立した部分、つまりビジネス ロジック処理モデルとユーザー インターフェイス プレゼンテーション モデルに分割するパターンです。 。

PHP 基礎チュートリアル: 初心者からマスターまで PHP 基礎チュートリアル: 初心者からマスターまで Jun 18, 2023 am 09:43 AM

PHP は、Web 開発のすべてのタスクを処理できる、広く使用されているオープン ソースのサーバー側スクリプト言語です。 PHP は Web 開発で広く使用されており、特に動的データ処理における優れたパフォーマンスのため、多くの開発者に愛され、使用されています。この記事では、初心者が入門から上級者になるまでをサポートするために、PHP の基本をステップごとに説明します。 1. 基本構文 PHP は、コードが HTML、CSS、および JavaScript に似ているインタープリター型言語です。すべての PHP ステートメントはセミコロンで終わります。

ビッグデータ プロジェクトにおける Python ORM の適用 ビッグデータ プロジェクトにおける Python ORM の適用 Mar 18, 2024 am 09:19 AM

オブジェクト リレーショナル マッピング (ORM) は、開発者が SQL クエリを直接記述せずにオブジェクト プログラミング言語を使用してデータベースを操作できるようにするプログラミング テクノロジです。 Python の ORM ツール (SQLAlchemy、Peeweee、DjangoORM など) は、ビッグ データ プロジェクトのデータベース操作を簡素化します。利点 コードの単純さ: ORM により、長い SQL クエリを作成する必要がなくなり、コードの単純さと読みやすさが向上します。データの抽象化: ORM は、アプリケーション コードをデータベース実装の詳細から分離する抽象化レイヤーを提供し、柔軟性を向上させます。パフォーマンスの最適化: ORM は多くの場合、キャッシュとバッチ操作を使用してデータベース クエリを最適化し、それによってパフォーマンスを向上させます。移植性: ORM により、開発者は次のことが可能になります。

一般的に使用される 7 つの Java 設計パターンを深く理解します。 一般的に使用される 7 つの Java 設計パターンを深く理解します。 Dec 23, 2023 pm 01:01 PM

Java デザイン パターンの理解: 一般的に使用される 7 つのデザイン パターンの紹介。具体的なコード例が必要です。Java デザイン パターンは、ソフトウェア設計の問題に対する普遍的な解決策です。広く受け入れられている一連の設計アイデアと行動規範を提供します。デザイン パターンは、コード構造をより適切に整理および計画するのに役立ち、コードをより保守しやすく、読みやすく、拡張しやすくします。この記事では、Java で一般的に使用される 7 つの設計パターンを紹介し、対応するコード例を示します。シングルトン・パット

Python ORM を使用して効率的なデータ永続性を実装する Python ORM を使用して効率的なデータ永続性を実装する Mar 18, 2024 am 09:25 AM

オブジェクト リレーショナル マッピング (ORM) は、オブジェクト指向プログラミング言語とリレーショナル データベース間の橋渡しを可能にするテクノロジーです。 pythonORM を使用すると、データの永続化操作が大幅に簡素化され、アプリケーションの開発効率と保守性が向上します。利点 PythonORM を使用すると、次のような利点があります。 定型コードの削減: ORM は SQL クエリを自動的に生成するため、大量の定型コードを記述する必要がなくなります。データベース対話の簡素化: ORM は、データベースと対話するための統合インターフェースを提供し、データ操作を簡素化します。セキュリティの向上: ORM はパラメータ化されたクエリを使用するため、SQL インジェクションなどのセキュリティの脆弱性を防ぐことができます。データの一貫性の促進: ORM はオブジェクトとデータベース間の同期を保証し、データの一貫性を維持します。持つORMを選択してください

Python Tkinter を使用してプロジェクトに GUI チャームを追加する Python Tkinter を使用してプロジェクトに GUI チャームを追加する Mar 24, 2024 am 09:46 AM

Tkinter は、Python でグラフィカル ユーザー インターフェイス (GUI) を作成するための強力なライブラリです。シンプルさ、クロスプラットフォーム互換性、Python エコシステムとのシームレスな統合で知られています。 Tkinter を使用すると、ユーザー フレンドリーなインターフェイスをプロジェクトに追加でき、ユーザー エクスペリエンスが向上し、アプリケーションとの対話が簡素化されます。 Tkinter GUI アプリケーションの作成 Tkinter を使用して GUI アプリケーションを作成するには、次の手順を実行します: Tkinter ライブラリをインポートします: importtkinterastk Tkinter メイン ウィンドウを作成します: root=tk.Tk() メイン ウィンドウを構成します: ウィンドウのタイトル、サイズ、位置を設定しますなど。GUI 要素の追加: Tki の使用

初心者からマスターまで: Java Git の短期集中コース 初心者からマスターまで: Java Git の短期集中コース Mar 27, 2024 pm 10:41 PM

Git は、チームがソフトウェア開発で共同作業するのに役立つ分散バージョン管理システムです。 Java 開発者にとって、Git はコード変更の管理、コード履歴の追跡、他のユーザーとのコラボレーションのためのプラットフォームを提供するため、Git を理解することが非常に重要です。初心者向けの Git のインストール (基本を理解する): Git ソフトウェアをインストールし、環境変数を設定します。リポジトリの作成: gitinit を使用してローカル リポジトリを作成します。ファイルの追加: gitadd を使用してファイルをステージング領域に追加します。変更をコミットする: gitcommit を使用して、ステージング領域の変更をローカル リポジトリにコミットします。リポジトリの中間 (コラボレーションおよびバージョン管理) クローン作成: gitclone を使用して、リモート リポジトリからローカル コピーのクローンを作成します。分岐とマージ: ブランチを使用して、コードの分離されたコピーを作成します。

See all articles