我想读取Github存储库中的所有文本文件,但是文本文件的地址与原始文本地址不同。 Trump Speeches
例如查看以下链接: speech_00.txt in first status
现在,Speech_00.txt的地址与原始模式下的地址不同 speech_00.txt in raw status
如何处理而不编辑地址(例如添加 githubusercontent或删除blob)
此外,我使用以下代码读取了示例文本文件:
import urllib
response = urllib.request.urlopen("https://raw.githubusercontent.com/PedramNavid/trump_speeches/master/data/speech_72.txt")
Text = response.read()
Text=Text.decode("utf-8")
答案 0 :(得分:1)
一种实现此目的的简单方法(基于该目录特别是 结构化)将使循环迭代地添加到您输入的字符串中 作为您的文件路径:
import urllib
# Get master directory
speech_dir ="https://raw.githubusercontent.com/PedramNavid/trump_speeches/master/data/"
# Iterate through all speeches in directory, from 00 to 73
cur_speech = 00
end_speech = 73
while (cur_speech <= end_speech):
# Change the speech you want to get
speech_nm = ('speech_' + str(cur_speech) +'.txt')
response = urllib.request.urlopen(speech_nm)
# Do what you need to with the speech
Text = response.read()
Text = Text.decode("utf-8")
# Update to the new speech
cur_speech +=1
这样,您将遍历该特定目录中的每个语音。
答案 1 :(得分:0)
我使用您的代码(@ N.Yasarturk),并对其进行了编辑以获取所有文件。但是我问,还有其他方法(没有编辑地址)可以从Github存储库中读取这些文件吗?
import urllib
# Get master directory
speech_dir ="https://raw.githubusercontent.com/PedramNavid/trump_speeches/master/data/"
# Iterate through all speeches in directory, from 00 to 73
cur_speech = 0
temp=str(cur_speech)
end_speech = 73
while (cur_speech <= end_speech):
# Change the speech you want to get
if(cur_speech<10):
temp="0"+str(cur_speech)
else:
temp=str(cur_speech)
speech_nm = (speech_dir+'speech_' + temp +'.txt')
print(speech_nm)
response = urllib.request.urlopen(speech_nm)
# Do what you need to with the speech
Text = response.read()
Text = Text.decode("utf-8")
print(Text)
# Update to the new speech
cur_speech +=1