我正在创建一个脚本,使用Github search从Github抓取搜索关键字的原始网址。首先我得到的是100页,每页10个结果。但后来我开始按语言过滤搜索。所以我开始得到100 * 10 * 10的结果。
def search(keyword):
with open(keyword+".txt", "a") as f:
base ="https://raw.githubusercontent.com"
l = requests.get("https://github.com/search?q={}&type=Code&ref=searchresults".format(keyword))
for language in re.findall('<a href="(.*?)".*?ter-item">',l.text):
for page in range(1,100):
req = requests.get(language + "&p={}".format(page))
for url in re.findall('a href="(.*?)" title', req.text):
raw = base + url.replace("/blob", "")
f.write(raw + '\n')
print raw
是否有方法可以获得更多结果?
修改
我已经检查过Github API。但是当我尝试搜索代码时,我必须指定存储库。这就是我删除结果的原因。
"message": "Validation Failed",
"errors": [
{
"message": "Must include at least one user, organization, or repository",
"resource": "Search",
"field": "q",
"code": "invalid"
}