(.*?)
.*?(.*?)
.*?Nous devons généralement analyser les pages Web explorées pour obtenir les données dont nous avons besoin. En analysant la structure combinée des balises HTML, nous pouvons extraire des informations utiles contenues dans les pages Web. En Python, il existe trois manières courantes d'analyser le HTML : l'analyse des expressions régulières, l'analyse XPath et l'analyse des sélecteurs CSS.
Comprendre la structure de base des pages HTML est un prérequis avant d'expliquer la méthode d'analyse HTML. Lorsque nous ouvrons un site Web dans un navigateur et sélectionnons l'élément de menu « Afficher le code source de la page Web » via le menu contextuel de la souris, nous pouvons voir le code HTML correspondant à la page Web. Le code HTML se compose généralement de balises, d'attributs et de texte. L'étiquette porte le contenu affiché sur la page, les attributs complètent les informations de l'étiquette et le texte est le contenu affiché par l'étiquette. Voici un exemple simple de structure de code de page HTML :
<!DOCTYPE html> <html> <head> <!-- head 标签中的内容不会在浏览器窗口中显示 --> <title>这是页面标题</title> </head> <body> <!-- body 标签中的内容会在浏览器窗口中显示 --> <h2>这是一级标题</h2> <p>这是一段文本</p> </body> </html>
Dans cet exemple de code de page HTML, le contenu sous la balise <!DOCTYPE html>
是文档类型声明,<html>
标签是整个页面的根标签,<head>
和<body>
是<html>
标签的子标签,放在<body>
标签下的内容会显示在浏览器窗口中,这部分内容是网页的主体;放在<head>
ne sera pas affiché dans la fenêtre du navigateur, mais il contient des méta-informations importantes de la page, généralement appelées The en-tête de la page Web. La structure générale du code d'une page HTML est la suivante :
<!DOCTYPE html> <html> <head> <!-- 页面的元信息,如字符编码、标题、关键字、媒体查询等 --> </head> <body> <!-- 页面的主体,显示在浏览器窗口中的内容 --> </body> </html>
Les balises, les feuilles de style en cascade (CSS) et JavaScript sont les trois composants de base qui composent une page HTML. Les balises sont utilisées pour transporter le contenu à afficher sur la page, CSS est responsable du rendu de la page et JavaScript est utilisé pour contrôler le comportement interactif de la page. Pour analyser les pages HTML, vous pouvez utiliser la syntaxe XPath, qui est à l'origine une syntaxe de requête pour XML. Elle peut extraire le contenu ou les attributs de balises en fonction de la structure hiérarchique des balises HTML. De plus, vous pouvez également utiliser des sélecteurs CSS pour localiser les pages. Les éléments sont identiques au rendu des éléments de page à l'aide de CSS.
XPath est une syntaxe permettant de rechercher des informations dans des documents XML (eXtensible Markup Language). XML est similaire au HTML et est un langage de balises qui utilise des balises pour transporter des données. être personnalisé et XML a des exigences de syntaxe plus strictes. XPath utilise des expressions de chemin pour sélectionner des nœuds ou des ensembles de nœuds dans les documents XML. Les nœuds mentionnés ici incluent des éléments, des attributs, du texte, des espaces de noms, des instructions de traitement, des commentaires, des nœuds racine, etc.
L'expression du chemin XPath est similaire à la syntaxe du chemin de fichier, vous pouvez utiliser "/" et "//" pour sélectionner des nœuds. Lors de la sélection du nœud racine, vous pouvez utiliser une seule barre oblique "/" ; lors de la sélection d'un nœud à n'importe quelle position, vous pouvez utiliser une double barre oblique "//". Par exemple, "/bookstore/book" signifie sélectionner tous les sous-nœuds de livre sous la librairie du nœud racine, et "//title" signifie sélectionner le nœud de titre à n'importe quelle position.
XPath peut également utiliser un prédicat pour filtrer les nœuds. Les expressions imbriquées entre crochets peuvent être des nombres, des opérateurs de comparaison ou des appels de fonction qui servent de prédicats. Par exemple, "/bookstore/book[1]" signifie sélectionner le premier nœud enfant livre de la librairie, et "//book[@lang]" signifie sélectionner tous les nœuds livre avec l'attribut lang.
Les fonctions XPath incluent des fonctions de chaîne, mathématiques, logiques, de nœuds, de séquence et autres. Ces fonctions peuvent être utilisées pour sélectionner des nœuds, calculer des valeurs, convertir des types de données et d'autres opérations. Par exemple, la fonction « string-length(string) » peut renvoyer la longueur de la chaîne et la fonction « count(node-set) » peut renvoyer le nombre de nœuds dans l’ensemble de nœuds.
Ci-dessous, nous utilisons un exemple pour illustrer comment utiliser XPath pour analyser la page. Supposons que nous ayons le fichier XML suivant :
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="zh">Learning XML</title> <price>39.95</price> </book> </bookstore>
Pour ce fichier XML, nous pouvons utiliser la syntaxe XPath comme indiqué ci-dessous pour obtenir les nœuds du document.
Expression de chemin | result |
---|---|
/bookstore | Sélectionnez la librairie de l'élément racine. Remarque : Si le chemin commence par une barre oblique ( / ), ce chemin représente toujours un chemin absolu vers un élément ! |
//book | Sélectionne tous les éléments enfants du livre quelle que soit leur position dans le document. |
//@lang | Sélectionnez tous les attributs nommés lang. |
/bookstore/book[1] | Sélectionnez le premier livre de nœud enfant de la librairie. |
通过HTML标签的属性和关系来定位元素的方式被称为CSS选择器。根据 HTML 标签的层级结构、类名、id 等属性能够确定元素的位置。在 Python 中,我们可以使用 BeautifulSoup 库来进行 CSS 选择器解析。
我们接下来会举一个例子,讲解如何运用 CSS 选择器来分析页面。假设我们有如下的 HTML 代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>这是页面标题</title> </head> <body> <div class="content"> <h2>这是一级标题</h2> <p>这是一段文本</p> </div> <div class="footer"> <p>版权所有 © 2021</p> </div> </body> </html>
我们可以使用如下所示的 CSS 选择器语法来选取页面元素。
选择器 | 结果 |
---|---|
div.content | 选取 class 为 content 的 div 元素。 |
h2 | 选取所有的 h2 元素。 |
div.footer p | 选取 class 为 footer 的 div 元素下的所有 p 元素。 |
[href] | 选取所有具有 href 属性的元素。 |
用正则表达式可以解析 HTML 页面,从而实现文本的匹配、查找和替换。使用 re 模块可以进行 Python 的正则表达式解析。
下面我们通过一个例子来说明如何使用正则表达式对页面进行解析。假设我们有如下的 HTML 代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>这是页面标题</title> </head> <body> <div class="content"> <h2>这是一级标题</h2> <p>这是一段文本</p> </div> <div class="footer"> <p>版权所有 © 2021</p> </div> </body> </html>
我们可以使用如下所示的正则表达式来选取页面元素。
import re html = ''' <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>这是页面标题</title> </head> <body> <div class="content"> <h2>这是一级标题</h2> <p>这是一段文本</p> </div> <div class="footer"> <p>版权所有 © 2021</p> </div> </body> </html> ''' pattern = re.compile(r'.*?', re.S) match = re.search(pattern, html) if match: title = match.group(1) text = match.group(2) print(title) print(text)(.*?)
.*?(.*?)
.*?
以上代码中,我们使用 re 模块的 compile 方法来编译正则表达式,然后使用 search 方法来匹配 HTML 代码。在正则表达式中,“.*?”表示非贪婪匹配,也就是匹配到第一个符合条件的标签就停止匹配,而“re.S”表示让“.”可以匹配包括换行符在内的任意字符。最后,我们使用 group 方法来获取匹配的结果。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Application basée sur l'IA pour créer des photos de nu réalistes
Outil d'IA en ligne pour supprimer les vêtements des photos.
Images de déshabillage gratuites
Dissolvant de vêtements AI
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !
Éditeur de code facile à utiliser et gratuit
Version chinoise, très simple à utiliser
Puissant environnement de développement intégré PHP
Outils de développement Web visuel
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.
Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.
PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.
Les rôles de HTML, CSS et JavaScript dans le développement Web sont: 1. HTML définit la structure de la page Web, 2. CSS contrôle le style de page Web, et 3. JavaScript ajoute un comportement dynamique. Ensemble, ils construisent le cadre, l'esthétique et l'interactivité des sites Web modernes.
VS Code peut être utilisé pour écrire Python et fournit de nombreuses fonctionnalités qui en font un outil idéal pour développer des applications Python. Il permet aux utilisateurs de: installer des extensions Python pour obtenir des fonctions telles que la réalisation du code, la mise en évidence de la syntaxe et le débogage. Utilisez le débogueur pour suivre le code étape par étape, trouver et corriger les erreurs. Intégrez Git pour le contrôle de version. Utilisez des outils de mise en forme de code pour maintenir la cohérence du code. Utilisez l'outil de liaison pour repérer les problèmes potentiels à l'avance.
L'avenir de HTML est plein de possibilités infinies. 1) Les nouvelles fonctionnalités et normes comprendront plus de balises sémantiques et la popularité des composants Web. 2) La tendance de la conception Web continuera de se développer vers une conception réactive et accessible. 3) L'optimisation des performances améliorera l'expérience utilisateur grâce à des technologies de chargement d'image réactives et de chargement paresseux.
PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.
Les extensions de code vs posent des risques malveillants, tels que la cachette de code malveillant, l'exploitation des vulnérabilités et la masturbation comme des extensions légitimes. Les méthodes pour identifier les extensions malveillantes comprennent: la vérification des éditeurs, la lecture des commentaires, la vérification du code et l'installation avec prudence. Les mesures de sécurité comprennent également: la sensibilisation à la sécurité, les bonnes habitudes, les mises à jour régulières et les logiciels antivirus.