- 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))
Utilice el disfraz de navegador Urllib (2)
Supongo que te gusta
Origin www.cnblogs.com/u-damowang1/p/12724245.html
Recomendado
Clasificación