Quine Post mit Qiita API (Python)

Für Quine-Beiträge ** hier **

Ich hatte große Probleme beim Entkommen von Quine-Code als String mit exec. Der Code im Artikel Unicode entgeht doppelten und hinteren Anführungszeichen. Wenn es einen intelligenteren Weg gibt, teilen Sie uns dies bitte in den Kommentaren mit.

[Versionsinformationen (sys.version)] 3.8.2 (default, Apr 23 2020, 14:22:33) [GCC 8.3.0]

Code, der die API in diesem Artikel ausgeführt hat

quineRequest.py


authorization_token = 'Bearer 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdi'
z="\\"
escape_def_code = """
def escape(s):
	return s.replace(\u0022'\u0022, z + 'u0027').replace('\u0022', z * 2 + 'u0022').replace('\u0060', z * 2 + 'u0060')
"""
exec_code = """
import sys
import requests
import json
url = 'https://qiita.com/api/v2/items'
headers = {{
    'Authorization': '{0}',
    'Content-Type': 'application/json'
}}
title = 'Quine Post mit Qiita API(Python)'
body = '''
Für Quine-Beiträge**[Hier](https://qiita.com/j5c8k6m8/items/bc2324ef036729da1a28)**

\u0060exec\Ich hatte große Probleme beim Entkommen von Quine-Code als String mit u0060.
Der Code im Artikel Unicode entgeht doppelten und hinteren Anführungszeichen.
Wenn es einen intelligenteren Weg gibt, teilen Sie uns dies bitte in den Kommentaren mit.

[Versionsinformation(\u0060sys.version\u0060) ]
**'''
body += sys.version
body += '''**

#Code, der die API in diesem Artikel ausgeführt hat

\u0060\u0060\u0060 python:quineRequest.py
authorization_token = 'Bearer 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdi'
'''
body += ('z=\u0022' + (z * 2) + '\u0022')
body += '''
escape_def_code = \u0022\u0022\u0022{1}\u0022\u0022\u0022
exec_code = \u0022\u0022\u0022{2}\u0022\u0022\u0022
exec_exec_code = \u0022\u0022\u0022{3}\u0022\u0022\u0022
{3}
\u0060\u0060\u0060
'''

tag = [{{'name': 'Qiita'}}, {{'name': 'Python'}}, {{'name': 'quine'}}, {{'name': 'QiitaAPI'}}, {{'name': 'Quine Post'}}]
post_data = {{
    'private': False,
    'body': body,
    'title': title,
    'tags': tag,
}}
r = requests.post(url, headers=headers, data=json.dumps(post_data))
"""
exec_exec_code = """
exec(escape_def_code)
exec(exec_code.format(authorization_token, escape(escape_def_code), escape(exec_code), escape(exec_exec_code)))
"""

exec(escape_def_code)
exec(exec_code.format(authorization_token, escape(escape_def_code), escape(exec_code), escape(exec_exec_code)))

Recommended Posts

Quine Post mit Qiita API (Python)
Letzte Ranglistenerstellung mit der Qiita-API mit Python
Verwenden Sie die Trello-API mit Python
POST json mit Python 3-Skript
Verwenden Sie die Twitter-API mit Python
Post to Slack mit Python 3
Web-API mit Python + Falcon
Rufen Sie die API mit python3 auf.
Verwenden Sie die Unterschall-API mit Python3
Qiita API Oauth mit Django
[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen
Erstellen Sie Awaitable mit der Python / C-API
Holen Sie sich Bewertungen mit Python Googlemap API
Führen Sie Rotrics DexArm mit der Python-API aus
[Python] POST-WAV-Dateien mit Anforderungen [POST]
Klicken Sie mit Python auf die Etherpad-Lite-API
Veröffentlichen Sie mehrere Twitter-Bilder mit Python
Holen Sie sich Qiita-Trends mit Python-Scraping
Mit Python 3 einfach auf Twitter posten
Sammeln von Informationen von Twitter mit Python (Twitter API)
Versuchen Sie, sich mit Python bei qiita anzumelden
Erstellen Sie automatisch eine Python-API-Dokumentation mit Sphinx
Einfacher Slack API-Client mit Python
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
POST verschieden mit Python und empfange mit Flask
Poste von einem anderen Konto mit Twitter API
[Python] Erstellen Sie schnell eine API mit Flask
Serverlose Gesichtserkennungs-API mit Python
[Python] Python-Paketinformationen mit der PyPI-API abrufen
Implementierter Python-Wrapper für Qiita API v2
FizzBuzz in Python3
Scraping mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Python beginnt mit ()
mit Syntax (Python)
POST-Fotos mit Microsoft Bing Image Search API, um Image Insights (Python) zu erhalten
Bingo mit Python
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
Zundokokiyoshi mit Python
Qiita, frühe Python ♪
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Stock Number Ranking von Qiita Tag mit Python
Erstellt einen Python-Wrapper für die Qiita-API
Textextraktion mit GCP Cloud Vision API (Python3.6)
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
LINE BOT mit Python + AWS Lambda + API Gateway
Poste den hochfliegenden Titel von Youtube mit python3 auf Twitter
Explosive Geschwindigkeit mit Python (Flasche)! Web-API-Entwicklung
Führen Sie die vSphere-API von VMware vSphere 6 mit dem Python-Skript (pyvmomi) aus.