Détecter les questions en double
Il était une fois un site de golf. Il y avait un problème: les gens posaient encore et encore des questions similaires ou identiques. Vous avez étéchoisi sélectionné forcé enrôlé chantage demandé d'automatiser le processus de décision si une question est une copie d'une question existante, par tous les moyens nécessaires (voir Règles).
Contribution
Votre programme doit accepter une seule URL comme entrée. Il peut supposer que cela conduit à une question sur codegolf.stackexchange.com .
Production
Recherchez des questions similaires sur le site. Si vous pensez que la question d'entrée est un doublon d'une question existante (ou vice versa), affichez l'URL de l'autre question. Vous pouvez générer plusieurs URL, séparées par de nouvelles lignes. À la fin de votre sortie, sortez end
(sur une ligne distincte).
Notation
- Si une question que vous sortez était en effet marquée comme un doublon de la question d'entrée (ou vice versa), vous marquez 4 points. Il s'agit d'une "supposition correcte".
- Pour chaque faux positif (aka "estimation incorrecte"), vous perdez 2 points.
- Pour chaque question qui était en fait un doublon mais qui n'apparaît pas dans votre sortie (alias "supposition manquante"), perdez 1 point.
Le score le plus élevé après avoir traité 32 questions d'entrée gagne. Ces 32 questions sont un "tour". Au début de chaque tour, les scores seront remis à 0. Un tour sera exécuté tous les quelques jours et le classement sera mis à jour après chaque tour.
Règles
- Si les questions A et C sont toutes deux fermées en tant que doublons de B, A comptera comme un doublon de C et vice versa.
- Au début de chaque tour, votre programme peut ne pas posséder de données sur des questions (c'est-à-dire pas de codage en dur ), sauf sur la façon d'analyser le site Web.
- Cependant, vous pouvez conserver des données dans des fichiers externes pendant un tour.
- Aucune donnée ne peut être conservée entre les tours.
- Votre sortie doit avoir une nouvelle ligne de fin.
- Vous ne pouvez utiliser aucune donnée du site Web à l'exception des résultats de recherche et de l'URL, du titre, des balises et du texte d'une question , avec ou sans mise en forme. Par exemple, vous ne pouvez pas utiliser le texte "marqué comme doublon par foo, bar ..." qui apparaît sur les questions en double.
- Vous pouvez récupérer ces données directement sur le site, via data.SE ou via l'API.
- Chaque soumission doit avoir un nom.
- Chaque soumission doit avoir une numérotation de version claire.
- Si une soumission ne produit pas de résultat après un délai (à déterminer; veuillez indiquer le temps que prend votre soumission), elle sera tuée et perdra 8 points.
Réponses:
Python 3
Je donne à cette entrée le nom
The Differ
.Code:
Le filtre
"!-*f(6rc.cI8O"
incluait letotal
paramètre sur l'objet wrapper global et lebody
paramètre sur les questions.Cette entrée fait deux demandes d'API plus une par balise sur la question plus une pour cent questions dans sa balise la moins utilisée. S'il atteint un accélérateur api (qu'il ne vérifie pas), il soulèvera un
urllib.error.HTTPError: HTTP Error 400: Bad Request
la source