Liens utiles python disque de recherche de code de mise en œuvre rampants

Cet article présente un python lien efficace rampants recherche disque, cet article vous dire en détail par l'exemple de code, a une certaine valeur pour les références, un ami dans le besoin en référence
parce que la recherche de disque a découvert il y a beaucoup de liens a échoué et affecter l'efficacité des données pour la recherche, donc penser à un lien efficace avec les reptiles pour filtrer, la façon de pratiquer votre main -

Tel est le but de ce site rampants http://www.pansou.com, tout d'abord rechercher un python, puis ouvrez les outils de développement,

JSON peut être trouvé dans les données que nous avons à ramper sous ce lien de données, les paramètres supplémentaires supprimés,

Le format de lien restant http://106.15.195.249:8011/search_new?q=python&p=1,q pour rechercher du contenu, p est le numéro de page Insérer ici l'image Description
de ce qui suit est le code pour obtenir:

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("退出")

résumé

Le lien ci - dessus est efficace pour introduire un petit code recherche disque de mise en œuvre rampants python série que nous voulons aider,
je vous remercie beaucoup la lecture
de l'Université du temps de choisir une auto-python, a révélé que manger une mauvaise base informatique de travail déficit, l' éducation est pas moyen de le faire, ne peut être acquise pour compenser, puis a ouvert son propre contre-attaque sur la route en dehors du codage, des connaissances de base de python d'apprentissage continu, une connaissance approfondie de l' apprentissage de base en informatique, organisé, je mets dans notre étude boucle Python Qun: 250933691, si vous n'êtes pas disposé à la médiocrité, il est avec moi en dehors de codage, de plus en plus elle!

En fait, il n'y a pas que le technique, plus technique que ceux -ci , par exemple, comment faire un programmeur bien, plutôt que de « fil Cock », le programmeur lui - même est une présence noble, ah, non? [Cliquez pour rejoindre] voulez vous voulez être une personne noble, viens!

Publié 55 articles originaux · louange gagné 45 · vues 80000 +

Je suppose que tu aimes

Origine blog.csdn.net/haoxun12/article/details/105300852
conseillé
Classement