Python と BeautifulSoup を使用して HTML ドキュメントを解析する方法は次のとおりです。HTML ドキュメントをロードし、BeautifulSoup オブジェクトを作成します。 BeautifulSoup オブジェクトを使用して、次のようなタグ要素を検索および処理します。 特定のタグを検索する:Soup.find(tag_name) 特定のタグをすべて検索する:soup.find_all(tag_name) 特定の属性を持つタグを検索する:Soup.find(tag_name, {'attribute ': 'value'}) は、ラベルのテキスト内容または属性値を抽出します。特定の情報を取得するには、必要に応じてコードを調整します。
目的:
Python と BeautifulSoup を使用して HTML ドキュメントを解析する方法を学びます図書館。
必要な知識:
##コード :
from bs4 import BeautifulSoup # 加载 HTML 文档 html_doc = """ <html> <head> <title>HTML 文档</title> </head> <body> <h1>标题</h1> <p>段落</p> </body> </html> """ # 创建 BeautifulSoup 对象 soup = BeautifulSoup(html_doc, 'html.parser') # 获取标题标签 title_tag = soup.find('title') print(title_tag.text) # 输出:HTML 文档 # 获取所有段落标签 paragraph_tags = soup.find_all('p') for paragraph in paragraph_tags: print(paragraph.text) # 输出:段落 # 获取特定属性的值 link_tag = soup.find('link', {'rel': 'stylesheet'}) print(link_tag['href']) # 输出:样式表链接
実際のケース: 単純な実際のケースは、BeautifulSoup を使用して Web ページから指定された情報を抽出するクローラーです。たとえば、次のコードを使用して、Stack Overflow から質問と回答を取得できます。
import requests from bs4 import BeautifulSoup url = 'https://stackoverflow.com/questions/31207139/using-beautifulsoup-to-extract-specific-attribute' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') questions = soup.find_all('div', {'class': 'question-summary'}) for question in questions: question_title = question.find('a', {'class': 'question-hyperlink'}).text question_body = question.find('div', {'class': 'question-snippet'}).text print(f'问题标题:{question_title}') print(f'问题内容:{question_body}') print('---')
以上がHTML 段落は自動的に 2 つのスペースでインデントされますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。