Python 从Github搜索中获取更多结果
我正在创建一个脚本,使用从Github中获取搜索关键字的原始URL。首先,我能得到的是100页,每页10个结果。但随后我开始按语言过滤搜索。所以我开始得到100*10*10的结果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
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"
}