xkcdFavicon.png

Difference between revisions of "Transcript"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
m
 
(21 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{xkcdmeta}}
+
Most [[xkcd]] comics have a transcript posted on xkcd. This info covers details like the comics title, the date and link to the image and the [[Title text|title text]]. The [https://www.xkcd.com/about/ xkcd about page] says:
Most [[xkcd]] comics have a transcript posted on xkcd. On the [https://www.xkcd.com/about/ about page] on xkcd this is explained under: ''Is there an interface for automated systems to access comics and metadata?'' [[Randall]]'s example in general is to the transcript for comic 614, [[614: Woodpecker]], which can be found on this address: https://xkcd.com/614/info.0.json. Just change the number in the address to go to any other comics info. This info covers details like the comics title, the date and link to the image and the [[Title text]]. Today's comic is always displayed on this link: https://xkcd.com/info.0.json.
 
 
 
The transcript on these addresses is not the same as the ones written here on Explain xkcd, which also includes names only used on Explain xkcd and more details of the images as well as any text in the images, not just spoken text. Also most of the comics with [[:Category:Large drawings|Large drawings]] are not transcribed at all on xkcd. Sometimes Explain xkcd is even referenced by [[Randall]] for a transcript like it happened after [[1461: Payloads]] came out, see this [[1461:_Payloads#Trivia|trivia]].
 
 
 
 
 
The last transcript that can be found on xkcd by the method mentioned above is for [[1608: Hoverboard]]: https://xkcd.com/1608/info.0.json. This is one of the large comics that doesn't have a full transcript on xkcd. After that a mistake evolved in the combination of transcripts with the other details. There are no transcript for the next two comics after Hoverboard, only the details like title, date and title text. But then after that the transcript returned, but now it was for the comic released two numbers before. So the transcript for [[1609: Food Combinations]], which should have been here: https://xkcd.com/1609/info.0.json, is first "released" here: https://xkcd.com/1611/info.0.json, where the transcript for [[1611: Baking Soda and Vinegar]] should have been.
 
So far the last comic with a transcript like this seems to be [[1674: Adult]], with the transcript three comics later under [[1677: Contrails]] here: https://xkcd.com/1677/info.0.json. So it had shifted one more comic since the first error.
 
  
After this page there seems to be no more transcripts. So it is no longer of any help with the transcript.
+
{{Quote|Is there an interface for automated systems to access comics and metadata?
 +
:''Yes. You can get comics through the JSON interface, at URLs like https://xkcd.com/info.0.json (current comic) and https://xkcd.com/614/info.0.json (comic #614).|[[Randall Munroe]]|[https://www.xkcd.com/about/ about xkcd]}}
  
 +
The official transcript is different from the ones on Explain xkcd, which are more detailed and descriptive. Randall occasionally cites Explain xkcd for the transcript, like for the comic [[1461: Payloads]]. You can find more information in the [[1461: Payloads#Trivia|comic's trivia section]].
  
;End of transcriptions
+
==End of transcripts==
 +
Using the mentioned method, the last available transcript on xkcd for [[1608: Hoverboard]] can be found at https://xkcd.com/1608/info.0.json. However, an error occurred during the combination of transcripts with other details. The subsequent two comics after Hoverboard do not have transcripts, only the accompanying details such as title, date, and title text. Then, the transcripts resumed, but for the comic released two numbers prior. Therefore, the transcript for [[1609: Food Combinations]], which should have been on https://xkcd.com/1609/info.0.json, was instead "released" on https://xkcd.com/1611/info.0.json, where the transcript for [[1611: Baking Soda and Vinegar]] should have been. The pattern continued, and the last comic with a transcript is [[1674: Adult]], with the transcript for that comic found three comics later under [[1677: Contrails]] on https://xkcd.com/1677/info.0.json. After [[1674: Adult]], no more transcripts have been provided.
  
After [[1674: Adult]] (whose transcript is at https://xkcd.com/1677/info.0.json , no more transcripts have been provided. This python script (public domain) can be used to quickly verify if (and where) new transcripts have been added
+
This python script (public domain) can be used to quickly verify if and where new transcripts have been added:
  
<nowiki>#!/usr/bin/env python3
+
<pre>#!/usr/bin/env python3
 
import requests
 
import requests
 
import sys
 
import sys
Line 22: Line 18:
 
latest = requests.get(url='https://xkcd.com/info.0.json').json()['num']
 
latest = requests.get(url='https://xkcd.com/info.0.json').json()['num']
  
new_transripts = False
+
new_transcripts = False
for i in range (latest, last_known_transcript, -1):
+
for i in range(latest, last_known_transcript, -1):
         sys.stderr.write ('.')
+
         sys.stderr.write('.')
 
         sys.stderr.flush()
 
         sys.stderr.flush()
         if(requests.get(url='https://xkcd.com/'+str(i)+'/info.0.json').json()['transcript'] != ''):
+
         if requests.get(url='https://xkcd.com/'+str(i)+'/info.0.json').json()['transcript'] != '':
                 print ("\n", i, "has a transcript")
+
                 print("\n", i, "has a transcript")
                 new_transripts = True
+
                 new_transcripts = True
print ("")
+
print()
  
if (not new_transripts):
+
if not new_transcripts:
         print ("no new transcripts have been added")
+
         print("no new transcripts have been added")</pre>
</nowiki>
+
 
[[Category:Meta]]
+
[[Category:Design of xkcd.com]]
[[Category:Design of xkcd]]
+
{{xkcdmeta}}

Latest revision as of 10:04, 24 July 2023

Most xkcd comics have a transcript posted on xkcd. This info covers details like the comics title, the date and link to the image and the title text. The xkcd about page says:

Is there an interface for automated systems to access comics and metadata?
Yes. You can get comics through the JSON interface, at URLs like https://xkcd.com/info.0.json (current comic) and https://xkcd.com/614/info.0.json (comic #614).

The official transcript is different from the ones on Explain xkcd, which are more detailed and descriptive. Randall occasionally cites Explain xkcd for the transcript, like for the comic 1461: Payloads. You can find more information in the comic's trivia section.

End of transcripts[edit]

Using the mentioned method, the last available transcript on xkcd for 1608: Hoverboard can be found at https://xkcd.com/1608/info.0.json. However, an error occurred during the combination of transcripts with other details. The subsequent two comics after Hoverboard do not have transcripts, only the accompanying details such as title, date, and title text. Then, the transcripts resumed, but for the comic released two numbers prior. Therefore, the transcript for 1609: Food Combinations, which should have been on https://xkcd.com/1609/info.0.json, was instead "released" on https://xkcd.com/1611/info.0.json, where the transcript for 1611: Baking Soda and Vinegar should have been. The pattern continued, and the last comic with a transcript is 1674: Adult, with the transcript for that comic found three comics later under 1677: Contrails on https://xkcd.com/1677/info.0.json. After 1674: Adult, no more transcripts have been provided.

This python script (public domain) can be used to quickly verify if and where new transcripts have been added:

#!/usr/bin/env python3
import requests
import sys

last_known_transcript = 1677
latest = requests.get(url='https://xkcd.com/info.0.json').json()['num']

new_transcripts = False
for i in range(latest, last_known_transcript, -1):
        sys.stderr.write('.')
        sys.stderr.flush()
        if requests.get(url='https://xkcd.com/'+str(i)+'/info.0.json').json()['transcript'] != '':
                print("\n", i, "has a transcript")
                new_transcripts = True
print()

if not new_transcripts:
        print("no new transcripts have been added")