Enlaces útiles pitón de búsqueda arrastrándose disco de código de implementación

En este artículo se introduce un pitón vínculo efectivo rastreo de búsqueda de disco, este artículo le dirá con gran detalle por el código de ejemplo, tiene un cierto valor para las referencias, un amigo en necesidad con la referencia
porque la búsqueda de disco descubrió que hay una gran cantidad de enlaces ha fallado y afectará a la eficacia de los datos que buscan, lo que pensar en un vínculo efectivo con los reptiles para filtrar, la manera de practicar la mano -

Este es el objetivo de esta página web se arrastra http://www.pansou.com, en primer lugar para buscar una pitón, a continuación, abra las herramientas de desarrollo,

JSON puede ser encontrado en los datos que tenemos que pasar por debajo de este enlace de datos, los parámetros adicionales removidos,

El formato de enlace restante http://106.15.195.249:8011/search_new?q=python&p=1,q para buscar contenido, p es el número de página Aquí Insertar imagen Descripción
de la siguiente es el código para lograr:

import requests
import json
from multiprocessing.dummy import Pool as ThreadPool
from multiprocessing import Queue
import sys
headers = {
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
}
q1 = Queue()
q2 = Queue()
urls = [] # 存取url列表
# 读取url
def get_urls(query):
  # 遍历50页
  for i in range(1,51):
    # 要爬取的url列表,返回值是json数据,q参数是搜索内容,p参数是页码
    url = "http://106.15.195.249:8011/search_new?&q=%s&p=%d" % (query,i)
    urls.append(url)
# 获取数据
def get_data(url):
  print("开始加载,请等待...")
  # 获取json数据并把json数据转换为字典
  resp = requests.get(url, headers=headers).content.decode("utf-8")
  resp = json.loads(resp)
  # 如果搜素数据为空就抛出异常停止程序
  if resp['list']['data'] == []:
    raise Exception
  # 遍历每一页数据的长度
  for num in range(len(resp['list']['data'])):
    # 获取百度云链接
    link = resp['list']['data'][num]['link']
    # 获取标题
    title = resp['list']['data'][num]['title']
    # 访问百度云链接,判断如果页面源代码中有“失效时间:”这段话的话就表明链接有效,链接无效的页面是没有这段话的
    link_content = requests.get(link, headers=headers).content.decode("utf-8")
    if "失效时间:" in link_content:
      # 把标题放进队列1
      q1.put(title)
      # 把链接放进队列2
      q2.put(link)
      # 写入csv文件
      with open("wangpanziyuan.csv", "a+", encoding="utf-8") as file:
        file.write(q1.get()+","+q2.get() + "\n")
  print("ok")
if __name__ == '__main__':
  # 括号内填写搜索内容
  get_urls("python")
  # 创建线程池
  pool = ThreadPool(3)
  try:
    results = pool.map(get_data, urls)
  except Exception as e:
    print(e)
  pool.close()
  pool.join()
  print("退出")

resumen

El enlace anterior es eficaz para introducir una pequeña pitón serie arrastrándose código de aplicación de búsqueda en disco queremos ayuda,
muchas gracias lectura
de la Universidad de tiempo para elegir un auto-pitón, se encontró que el consumo de un mal trabajo básico de la computadora déficit, la educación no hay manera de hacer esto, sólo puede ser adquirida para compensar, luego abrió su propia contra-ataque en la carretera fuera de la codificación, el conocimiento continuo del núcleo pitón de aprendizaje, el conocimiento profundo de aprendizaje básico del ordenador, organizada, puse en nuestro estudio Python hebilla qun: 250933691, si no están dispuestos a la mediocridad, es conmigo fuera de la codificación, su cultivo!

De hecho, no es no sólo cuestiones técnicas, más técnico de los que, por ejemplo, cómo hacer que un programador bien, en lugar de "alambre de Gallo", el programador sí es un noble presencia, ah, ¿verdad? [Haga clic para unirse a] quieren que desea ser una persona noble, vamos!

Publicado 55 artículos originales · ganado elogios 45 · Vistas a 80000 +

Supongo que te gusta

Origin blog.csdn.net/haoxun12/article/details/105300852
Recomendado
Clasificación