Python extrae regularmente el contenido de la clase div llamada Post-body

Puede usar el módulo re incorporado de Python para extraer el contenido de la clase div llamada Post-body.Los pasos específicos son los siguientes:

  1. Importar el módulo re:import re

  2. Defina expresiones regulares para que coincidan con las etiquetas div y los atributos de clase correspondientes, por ejemplo:

pattern = r'<div class="Post-body"[^>]*>(.*?)</div>'

Lo que hace esta expresión regular es:

  • <div class="Post-body": Coincide con <div class="Post-body"las etiquetas div que comienzan con;
  • [^>]*>: Coincide con >cualquier carácter que no sea 0 o más veces hasta que se encuentre >; la función de esta parte es hacer coincidir otros atributos en la etiqueta div;
  • (.*?): Use coincidencias no codiciosas para hacer coincidir todo;
  • </div>: coincide con </div>las etiquetas div que terminan en , para garantizar que el contenido coincidente cumpla con los criterios que necesitamos.
  1. Utilice el método re.findall() para hacer coincidir todo el texto coincidente, por ejemplo:
html_str = "这是一个 <div class='Post-body'>需要提取的内容</div>"
match_list = re.findall(pattern, html_str, re.S)

Esto extraerá el contenido de todos los divs con clase Post-body en la cadena y los almacenará en una lista (en este caso, solo hay un elemento en la lista). Entre ellos, el parámetro re.S es para hacer coincidir el texto de varias líneas.

  1. Procesar el contenido extraído. Según la agrupación de paréntesis en la expresión regular, el contenido extraído aparecerá como una cadena en la lista. En este ejemplo, el contenido extraído es "需要提取的内容".

Si desea extraer aún más el contenido de esta cadena, puede usar expresiones regulares para hacer coincidir nuevamente, o usar los métodos de procesamiento de cadenas de Python (como dividir, quitar, etc.).

Supongo que te gusta

Origin blog.csdn.net/qq_27487739/article/details/131144818
Recomendado
Clasificación