Notas del rastreador: módulo PyQuery (7)

El módulo PyQuery también es un módulo para analizar html. Es similar a Beautiful Soup. Está implementado por jquery. Es similar a la sintaxis de jquery. Es más conveniente para las personas que pueden usar jquery.

Pyquery necesita confiar en el módulo lxml, si no está instalado, informará un error.

Instalar

pip install lxml
pip install pyquery

  3 formas de analizar HTML

desde pyquery import PyQuery
html = "" "
<html><head><title>Baidu</title> </head>
<cuerpo>
<div>
<p class = "content"> 搜索
<a href="http://www.baidu.com" class="link" id="link1"> <! - 首页 -> </a>,
<a href="http://www.baidu.com/page/3.html" class="link" id="link2"> 搜索 1 </a> y
<a href="http://www.baidu.com/page/47.html" class="link" id="link3"> 搜索 2 </a>;
Haga clic en el enlace de arriba. </ P>
<p class = "content">. Esta es una ubicación publicitaria. </ p>
<p class = "title"> 百度 </p>
</div>
</body>
</html>
"" "
doc = PyQuery (url = 'http: //www.baidu.com') #Especifique url, código fuente html en url
doc2 = PyQuery (html) #Specify html string
doc3 = PyQuery (filename = 'index.html') #Especifique el archivo
imprimir (doc)
imprimir (doc2)
imprimir (doc3)

  selector css

css también se ha usado en el módulo bs, el uso es similar. Los detalles son los siguientes

print (doc2 ('. link')) #via clase
print (doc2 ('# link1')) #por id
print (doc2 ('. content, # link1')) #find todas las clases con contenido y id link1
print (doc2 ('. content # link1')) # Encuentra el elemento con id link1 bajo content
print (doc2 ('a')) # Buscar todas las etiquetas
print (doc2 ('[href]')) # Encuentra todos los elementos con el atributo href
print (doc2 ('a [target = _blank]')) # Encuentra el objetivo con _blank debajo de la etiqueta a

 Métodos comunes

# eq método, obtenga los primeros elementos
a_tags = doc2 ('a')
print (a_tags.eq (0)) # el primero en una etiqueta
print (a_tags.eq (1)) # el segundo en una etiqueta

# artículos()
# Si encuentra varios elementos, si desea recorrer los elementos, debe usar el método .items (), los elementos son para reciclar
a_tag = doc2 ('a')
para a en a_tag.items ():
    print (a.text ())

# text () 、 html ()
El método # text () es obtener el texto dentro del elemento, html () es obtener el elemento html del elemento

a = doc2 ('. contenido')
print (a.html ()) # formato html
print (a.text ()) # Solo el texto dentro

# método find, encuentra elementos

print (doc2.find ('p'). find ('a')) # Encuentra la etiqueta a de todas las etiquetas p
print (doc2.find ('p')) # encuentra todas las etiquetas p
print (doc2.find ('. content')) # encuentra todas las clases con contenido

# método de filtro, utilizado para filtrar
print (doc2.find ('a'). filter ('# link1')) # Primero encuentre la etiqueta a, luego filtre la identificación con link1 de la etiqueta a

# método attr, obtener atributos

print (doc2 ('# link1'). attr (('href'))) # Obtiene el valor de atributo de href con id de link1

  

Supongo que te gusta

Origin www.cnblogs.com/wxcx/p/12740905.html
Recomendado
Clasificación