Utilice el disfraz de navegador Urllib (2)

  • El ejemplo anterior rastreaba en la memoria rastreaba el título de Jingdong, y se rastreaba fácilmente, luego cambiaremos la URL a otro ejemplo: https://www.qiushibaike.com/
    • import urllib.request
       import re
       # ignorar pequeños detalles se omiten automáticamente, lo que reduce en gran medida la tasa de error 
      # rastrear datos en la memoria 
      # http://www.jd.com 
      url = " https://www.qiushibaike.com/ " 
      datos = urllib.request.urlopen (url) .read (). decode ( " utf-8 " , " ignore " ) 
      pat = " <title> (. *?) </ title> " 
      # re.S modificador de modo, Los datos de la página web suelen ser de varias líneas, para evitar el impacto de la 
      impresión de varias líneas (re.compile (pat, re.S) .findall (data))

       

    • El mensaje de error indica que nuestro enlace está cerrado de forma remota, es posible que la IP esté bloqueada o que se reconozca el rastreador (esta es la mayoría)
  • Disfraz de navegador
    • El mensaje de error anterior, y luego puede navegar con un navegador, lo que demuestra que nuestra IP no está bloqueada. Si desea continuar visitando, podemos ocultar el navegador. La otra parte ve si usted es un navegador.
    • Importar el urllib.request
       importación Re
       # navegador de camuflaje 
      # abridor establecido objeto, se puede establecer abridor 
      abridor = urllib.request.build_opener ()
       # Construcción ancestral User-Agent, clave de 
      la UA = ( " User-Agent " , " Mozilla / 5.0 (Windows NT 10,0; Win64; x64-) AppleWebKit / 537.36 (KHTML, como el Gecko) Chrome / 80.0.3987.132 Safari / 537.36 " )
       # lugar que addHeaders atributos 
      opener.addheaders = [UA]
       # el primer partido se monta como un mundial 
      urllib .request.install_opener (opener) 
      url = " http://www.qiushibaike.com " 
      pat =" <title> (. *?) </title> " 
      data = urllib.request.urlopen (url) .read (). decode ( " utf-8 " , " ignore " )
       print (re.compile (pat, re .S) .findall (datos))

Supongo que te gusta

Origin www.cnblogs.com/u-damowang1/p/12724245.html
Recomendado
Clasificación