N行のPythonコードシリーズ:3行のプログラムがHTMLのプレーンテキスト情報を抽出します

☞░LaoYuanPythonブログ投稿ディレクトリ:https: //blog.csdn.net/LaoYuanPython/article/details/98245036░

I.はじめに

最近、「n行のPythonコード...」に似たブログ投稿をいくつか見ました。見た目はかなり良く、簡潔で実用的です。知識を広め、読書量を増やしました。古い猿の心を動かし、フォローすることにしました。スーツとプッシュ1。「PythonコードシリーズのN行」の記事。

本日は、3行のコードを使用してHTMLテキストからプレーンテキスト情報をすばやく抽出する簡単で高速な方法を紹介します。その他の「n-linePythonコードシリーズ」の記事については、無料のコラム「https://blog.csdn.net/laoyuanpython/category_10858655.htmln-linePythonコードシリーズ」を参照してください

二、背景

老猿がプログラムを通じてウェブサイトのブログ投稿情報を取得する場合、ブログ投稿のプレーンテキスト情報を取得する必要がある場合がありますが、クローラーがクロールするウェブページのコンテンツはすべてHTMLメッセージです。 HTMLメッセージのタグに関連する制御情報を削除する必要があります。情報はプレーンテキストのままにしてください。少し時間がかかると思いました。使用したBeatifulSoapはHTMLタグを解析するときに強力だと思いました。対応する方法があるはずです。確認して確認したところ、非常に簡単な方法であるBeatifulSoapオブジェクトのテキスト属性。

HTMLメッセージのプレーンテキスト情報を抽出するための3、3行のコード

>>>from bs4 import BeautifulSoup
>>>text ="""<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <link rel="canonical" href="https://blog.csdn.net/LaoYuanPython/article/details/114454198"/>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="renderer" content="webkit"/>
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="report" content='{"pid": "blog", "spm":"1001.2101"}'>
    <meta name="referrer" content="always">
    <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
    <meta name="applicable-device" content="pc">
    <link  href="https://g.csdnimg.cn/static/logo/favicon32.ico"  rel="shortcut icon" type="image/x-icon" />
    <title>Python爬虫入门实战3:获取CSDN个人博客信息_老猿Python-CSDN博客</title>
    
        <meta name="keywords" content="Python爬虫入门实战3:获取CSDN个人博客信息">
        <meta name="csdn-baidu-search"  content='{"autorun":true,"install":true,"keyword":"Python爬虫入门实战3:获取CSDN个人博客信息"}'>
    <meta name="description" content="本文结合CSDN博文的中关于博客的原创文章数、周排名、总排名、总阅读量、博客等级、积分、粉丝数、总获赞数、总评论、总收藏数以及按时间的发文情况的HTML报文信息,提供了爬取博文内容并分析这些信息的代码示例,有助于理解利用BeatifulSoap4结合多个标签分析爬取数据的HTML报文内容。">
    <script src='//g.csdnimg.cn/tingyun/1.8.3/blog.js' type='text/javascript'></script>
        <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/css/detail_enter-7353a41e6d.min.css">
    <script type="application/ld+json">{"@context":"https://ziyuan.baidu.com/contexts/cambrian.jsonld","@id":"https://blog.csdn.net/LaoYuanPython/article/details/114454198","appid":"1638831770136827","pubDate":"2021-03-06T19:53:45","title":"Python爬虫入门实战3:获取CSDN个人博客信息_老猿Python-CSDN博客","upDate":"2021-03-06T20:49:49"}</script>
        <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin-shark/skin-shark-39d3df9199.min.css">
    <script src="https://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="https://g.csdnimg.cn/??fixed-sidebar/1.1.6/fixed-sidebar.js" type="text/javascript"></script>
    <script src='//g.csdnimg.cn/common/csdn-report/report.js' type='text/javascript'></script>
    <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/public/sandalstrap/1.4/css/sandalstrap.min.css">
    <style>
        .MathJax, .MathJax_Message, .MathJax_Preview{
            display: none
        }
    </style>
    <script src="https://dup.baidustatic.com/js/ds.js"></script>
</head>"""
>>> soup =  BeautifulSoup(text,'lxml')
>>> soup.text
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nPython爬虫入门实战3:获取CSDN个人博客信息_老猿Python-CSDN博客\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
>>> 

上記のコードは合計4行で、そのうちの1つはHTMLテキストの割り当てであり、抽出に実際に関連する3行のコードは、BeautifulSoupをインポートし、BeautifulSoupオブジェクトを作成し、プレーンテキストを表示するためにそれぞれ実装されています。メッセージ。

4、BeautifulSoup関連の知識

BeautifulSoupはbs4モジュールのクラスです。効率的なWebページ解析ライブラリです。Webページの「タグツリー」を解析、トラバース、および維持するための機能ライブラリです。HTMLまたはXMLファイルからデータを抽出できます。BeautifulSoupオブジェクトは、HTML / XMLドキュメントのコンテンツ全体に対応します。

beautifulsoupは、HTML解析、XML解析、HTML5解析などのさまざまなパーサーをサポートしています。一般に、私たちがより頻繁に使用するlxmlパーサー。

lxmlはXMLおよびHTMLパーサーです。その主な機能は、XMLおよびHTMLのデータを解析および抽出することです。これは、BeautifulSoupがHTMLテキストを解析するために使用できます。もちろん、BeautifulSoup自体にはデフォルトでパーサーがあり、一部をサポートすることもできます。他のパーサー。

次のコマンドを実行して、オペレーティングシステムのコマンドラインにbs4モジュールとlxmlパーサーモジュールをインストールします。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple bs4
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lxml

BeautifulSoupはbs4モジュールによって提供されるクラスであるため、通常、以下をインポートするときに使用されます。

from bs4 import BeautifulSoup

BeautifulSoupの詳細については、「Pythonクローラーの概要」を参照してください。

列のURLhttps//blog.csdn.net/laoyuanpython/category_10762553.html

V.まとめ

この記事では、Python BeautifulSoupモジュールを使用してHTMLメッセージをすばやく解析し、HTMLメッセージ内のプレーンテキスト情報を抽出する方法とケースを紹介します。BeautifulSoupモジュールを使用すると、HTMLテキストからタグ情報なしでプレーンテキストを簡単かつ迅速に抽出できます。 、プログラムのフォローアップ使用に便利です。

ブログは簡単ではありません、サポートしてください:

この記事を読んで何かを得た場合は、いいね、コメント、ブックマークを付けてください。ご支援ありがとうございます。

記事の内容について質問がある場合は、ブログのコメント領域にメッセージを残すか、Lao Yuan PythonWeChatパブリックアカウントに従ってメッセージを送信して相談してください。

古い類人猿についての有料コラム

  1. 有料のコラム「https://blog.csdn.net/laoyuanpython/category_9607725.htmlPyQtを使用したグラフィカルインターフェイスPythonアプリケーションの開発」では、PythonベースのPyQtグラフィカルインターフェイス開発に関する基本的なチュートリアルを具体的に紹介しています。対応する記事ディレクトリは「https: //blog.csdn .net / LaoYuanPython / article / details / 107580932 PyQtを使用して、グラフィカルインターフェイスのPythonアプリケーション列ディレクトリを開発します";
  2. 有料のコラム「https://blog.csdn.net/laoyuanpython/category_10232926.htmlmoviepyオーディオとビデオの開発コラム」では、moviepyオーディオとビデオの編集と合成の関連する方法と、関連する編集を処理するための関連する方法の使用について詳しく説明しています。記事に対応する合成シーンディレクトリは「https://blog.csdn.net/LaoYuanPython/article/details/107574583moviepyオーディオおよびビデオ開発コラム記事ディレクトリ」です。
  3. 有料の列「https://blog.csdn.net/laoyuanpython/category_10581071.htmlOpenCV-初心者向けのPythonの難しい質問」は「https://blog.csdn.net/laoyuanpython/category_9979286.htmlOpenCV-Pythonのグラフィックと画像」です。処理「コンパニオンコラム」は、OpenCVの学習で遭遇する問題のいくつかに対する著者の個人的な認識の統合です-Pythonグラフィックスと画像処理。関連情報は基本的に古い猿による繰り返しの研究の結果であり、OpenCVを助けます-Python初心者からより詳細にOpenCVを理解するために、対応する記事ディレクトリは「https://blog.csdn.net/LaoYuanPython/article/details/109713407OpenCV-Python初心者難しい質問コレクションの列ディレクトリ」です。
  4. 有料のコラム「https://blog.csdn.net/laoyuanpython/category_10762553.htmlPythonクローラー入門では、インターネットフロントエンド開発者の視点からクローラー開発の内容を紹介しています。クロールCSDNの記事情報、記事、コメント、その他の実際のコンテンツなどのブロガー情報を取得します。

最初の2つの列は、特定のPythonの基礎はあるが、関連する知識がない初心者の読者に適しています。3番目の列は、「https://blog.csdn.net/laoyuanpython/category_9979286.htmlOpenCV-Pythonのグラフィックと画像」を組み合わせてください。処理「使い方を学ぶ。

Pythonの基礎が不足している場合は、Lao Yuanの無料のコラム「https://blog.csdn.net/laoyuanpython/category_9831699.htmlコラム:Pythonの基本的なチュートリアルディレクトリからPythonを最初から学ぶことができます

古い類人猿の読者に興味があり、喜んでサポートする場合は、有料のコラムを購入することを歓迎します。

古い類人猿からPythonを学びましょう!

☞░LaoYuanPythonブログ投稿ディレクトリhttps://blog.csdn.net/LaoYuanPython░に移動します

おすすめ

転載: blog.csdn.net/LaoYuanPython/article/details/114651075