Python 从Github搜索中获取更多结果

Python 从Github搜索中获取更多结果,python,github,Python,Github,我正在创建一个脚本,使用从Github中获取搜索关键字的原始URL。首先,我能得到的是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/sea

我正在创建一个脚本,使用从Github中获取搜索关键字的原始URL。首先,我能得到的是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(特别是)而不是抓取网站?@TomDalton
GitHub搜索API为每次搜索提供多达1000个结果。
我通过抓取获得。但我想得到更多。例如,当我搜索
google
时,我找到了
60711493
结果,但我只能通过抓取或使用API获得
1000
。我以为你每页抓取10个结果,而不是1000个?你的代码似乎也暗示了这一点。按照我阅读API文档的方式,每个请求提供1000个结果,然后您可以进一步请求页面以获得结果1001-2000、2001-3000等。是的,我每页获得10个结果。我每种语言都有100页(10种语言)。所以我总共得到10*10*100。但正如我所说,我不能使用GithubAPI,因为我没有查看具体的回购协议。@ChakerBenhamed:你解决了你的问题吗?我遇到了同样的问题。
  "message": "Validation Failed",
  "errors": [
    {
      "message": "Must include at least one user, organization, or repository",
      "resource": "Search",
      "field": "q",
      "code": "invalid"
    }