'redirects': 'True', 'page': link }) try: response = urlopen(link + "?" + params) content = response.read().decode('utf-8') return content except KeyError: return None # fonction appelée périodiquement def urlcall(toBeProcessed): if toBeProcessed["elements"]: call = toBeProcessed["elements"].pop(0) print("page visitée: ", call) content = getURL(call) with open(filename, 'a') as f: print(content, file=f) f.close() return False else: return True # mise en route d'un appel toutes les 5s de la fonction urlcall avec un dictionnaire # qui contient les paramètres passés à chaque appel de la fonction if __name__ == '__main__': # Ce code est exécuté lorsque l'on exécute le fichier call_repeatedly(5, urlcall, {"elements": liste})
toBeProcessed["elements"].extend(url_unique) #stockage des liens #on compte le nombre de liens par page à visiter n_url = len(table_url) n_url_unique = len(url_unique) #on compte le nombre de pages visitées toBeProcessed["nb_visite"] += n_url_unique print("Nombre de liens par page: ", n_url) print(" ") print("taille set d'URL pas encore dans le dictionaire: ", n_url_unique) print(" ") print("nb de pages à visiter: ", toBeProcessed["nb_visite"]) print("****************") #on enregistre les résultats dans un fichier with open(filename2, 'a') as f2: print(toBeProcessed["elements"], file=f2) if toBeProcessed["nb_visite"] > N: print("nb de liens restants: ", toBeProcessed["nb_visite"] - N) f2.close() return True return False else: return True # mise en route d'un appel toutes les 5s de la fonction urlcall avec un dictionnaire # qui contient les paramètres passés à chaque appel de la fonction if __name__ == '__main__': # Ce code est exécuté lorsque l'on exécute le fichier call_repeatedly(5, urlcall, {"elements": liste, "nb_visite": 0}, 300)
query = domain + '/result.html' params = { 'sort': 'relevance', 'srch': 'top', 'query_txt': 'video', 'patents': 'on' } max_results = 5 outputFile = "../data/export.json" to_process = getSearchResults(params, max_results) processed = set() call_repeatedly(0.5, 60, urlcall, { "to_process": to_process, "processed": processed, "domain": domain }) processed = list(map(lambda url: domain + url, processed)) patent_contents = [] for link in processed: patent_contents.append(getPatentContents(urlopen(link))) df_patents = pd.DataFrame(patent_contents) df_patents["Filing Date:"] = pd.to_datetime(df_patents["Filing Date:"], format="%m/%d/%Y") df_patents["Publication Date:"] = pd.to_datetime( df_patents["Publication Date:"], format="%m/%d/%Y")