ホームページ > バックエンド開発 > Python チュートリアル > Python を使用して散文 Web サイトから記事をクロールする

Python を使用して散文 Web サイトから記事をクロールする

PHP中文网
リリース: 2017-07-03 17:30:29
オリジナル
1320 人が閲覧しました

image.png

Python 2.7を設定する

リーリー

インストール pip を使用して sudo pip install bs4 をインストールします

sudo pip インストールリクエスト

bs4の使い方を簡単に説明するとWebページを巡回するのでfindとfind_allを紹介します

find と find_all の違いは、返されるものが異なることです。 Find は最初に一致したタグとそのタグ内のコンテンツを返します。

find_all はリストを返します

たとえば、find と find_all の違いをテストする test.html を書いてみましょう。内容は:

リーリー

リーリー

test.py のコードは次のとおりです:

リーリー

リーリー

実行後、指定したタグを取得すると、両者に大きな違いはなくなり、タグのグループを取得すると、両者の差が表示されます。

image.png
したがって、それを使用するときは、必要なものに注意を払う必要があります。そうしないと、エラーが発生します
次のステップは、リクエストを通じてWebページの情報を取得することです。なぜ他の人が聞いたなどのことを書くのかよくわかりません

私は。 get メソッドを使用して prose.com 上のいくつかのカテゴリの第 2 レベルの Web ページを取得し、グループ テストに合格してすべての Web ページをクロールします
を通じて Web ページに直接アクセスします。
リーリー

リーリー

コードのこの部分では、200 ではない res.status_code を処理しませんでした。その結果、エラーが表示されず、クロールされたコンテンツが失われるという問題が発生します。そこで Sanwen.net の Web ページを分析したところ、www.sanwen.net/rizhi/&p=1 であることがわかりました

p の最大値は 10 です。最後にディスクをクロールしたときは、そうでした。 100ページは後で分析します。次に、get メソッドを使用して各ページのコンテンツを取得します。

各ページの内容を取得後、作成者とタイトルを解析するコードは以下の通りです

リーリー

リーリー

タイトルを取得するときに不正行為がありました。散文を書くときにタイトルにスラッシュを追加するのはなぜですか?正規表現を変更してください。

最後のステップは、各ページの分析を通じて記事のアドレスを取得し、最初は Web ページのアドレスを変更してコンテンツを 1 つずつ取得することです。トラブル。


リーリー

リーリー

最後のステップはファイルを書き込んで保存することです

リーリー

Prose.com から散文を取得するには 3 つの関数が使用されますが、問題は、一部の散文が約 400 件しか取得できない理由がわからないことです。 Prose.com ですが、ページごとに同じことがわかりました。誰かがこの問題を解決してくれることを願っています。もちろん、それは私の寮のネットワークが壊れていることと関係があると思います

リーリー

レンダリングのことをほとんど忘れていました

コードは汚いですが、決してやめません

以上がPython を使用して散文 Web サイトから記事をクロールするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート