أهلا،
كنت أحاول إحضار قائمة من المستودعات بموضوع معين ثم العب بالسمات التي تم إرجاعها ، لكن كائنات المستودع التي تم إرجاعها في قائمة الصفحات تسببت في خطأ عند محاولة جلب بيانات غير معروفة:
Traceback (most recent call last):
File "github-crawler.py", line 6, in <module>
print(i, repo.archive_url)
File "/home/user/.local/lib/python3.6/site-packages/github/Repository.py", line 2407, in get_topics
self.url + "/topics",
File "/home/user/.local/lib/python3.6/site-packages/github/Repository.py", line 745, in url
self._completeIfNotSet(self._url)
File "/home/user/.local/lib/python3.6/site-packages/github/GithubObject.py", line 259, in _completeIfNotSet
self._completeIfNeeded()
File "/home/user/.local/lib/python3.6/site-packages/github/GithubObject.py", line 263, in _completeIfNeeded
self.__complete()
File "/home/user/.local/lib/python3.6/site-packages/github/GithubObject.py", line 268, in __complete
self._url.value
File "/home/user/.local/lib/python3.6/site-packages/github/Requester.py", line 262, in requestJsonAndCheck
return self.__check(*self.requestJson(verb, url, parameters, headers, input, self.__customConnection(url)))
File "/home/user/.local/lib/python3.6/site-packages/github/Requester.py", line 278, in __customConnection
if not url.startswith("/"):
AttributeError: 'NoneType' object has no attribute 'startswith'
فيما يلي مثال على الكود:
from github import Github
g = Github(per_page=300)
i = 1
for repo in g.search_topics('security'):
print(i, repo.archive_url)
i += 1
يمكن اختباره هنا: https://repl.it/repls/LawngreenPlushBetaversion
بيئة:
Linux ubuntu 4.15.0-36-generic x86_64 GNU / Linux
بايثون 3.6.6
PyGithub 1.43.2
أي مساعدة في ذلك؟
و شكرا
سأقوم بإصلاحه لاحقًا: p
ربما ، رمز خاطئ هنا . تضمين التغريدة
ربما ، رمز خاطئ هنا . تضمين التغريدة
أم؟ لا أعتقد أنني ساهمت برمز لأي من هذا ...
مجرد إلقاء نظرة خاطفة على الكود. يبدو أن search_topics يقوم بإرجاع قائمة مرقمة من مستودعات GitHub ، ولكن يبدو أن واجهة برمجة التطبيقات تعرض قائمة بالموضوعات ، بما في ذلك الخصائص التالية:
أعتقد أن هذا قد يكون المشكلة الجذرية.
نعم بالفعل ، تعرض نقطة نهاية API / البحث / الموضوعات قائمة بالموضوعات المتعلقة بالكلمة الأساسية المقدمة وليس قائمة بالمستودعات التي تم تمييزها بهذا الموضوع (وهو أمر محير بعض الشيء ، ربما؟).
في الكود الخاص بي ، استخدمت نقاط نهاية API الأخرى وعملت بشكل جيد.
ولكن مع ذلك ، يجب إصلاح الطريقة في PyGithub.
ترحيب العلاقات العامة
التعليق الأكثر فائدة
ترحيب العلاقات العامة