Je travaille sur un code plus grand qui affichera les liens des résultats pour une recherche Google Newspaper et ensuite analyser ces liens pour certains mots-clés et le contexte et les données. J'ai tout ce travail à faire, et maintenant, quand j'essaie de parcourir les pages de résultats, j'arrive à un problème. Je ne suis pas sûr de savoir comment faire cela sans API, que je ne sais pas comment utiliser. Je dois juste pouvoir parcourir plusieurs pages de résultats de recherche pour pouvoir ensuite appliquer mon analyse. Il semble qu'il existe une solution simple pour parcourir les pages de résultats, mais je ne le vois pas.Python itérer à travers les pages de recherche google
Y a-t-il des suggestions sur les façons d'aborder ce problème? Je suis un peu nouveau à Python et j'ai appris toutes ces techniques de raclage, donc je ne suis pas sûr si je manque quelque chose de simple ici. Je sais que cela peut être un problème avec Google restreindre les recherches automatisées, mais même en tirant dans la première centaine de liens serait bénéfique. J'ai vu des exemples de cela à partir de recherches Google classiques, mais pas à partir de recherches Google Journal
Voici le corps du code. S'il y a des lignes où vous avez des suggestions, ce serait utile. Merci d'avance!
def get_page_tree(url):
page = requests.get(url=url, verify=False)
return html.fromstring(page.text)
def find_other_news_sources(initial_url):
forwarding_identifier = '/url?q='
google_news_search_url = "https://www.google.com/search?hl=en&gl=us&tbm=nws&authuser=0&q=ohio+pay-to-play&oq=ohio+pay-to-play&gs_l=news-cc.3..43j43i53.2737.7014.0.7207.16.6.0.10.10.0.64.327.6.6.0...0.0...1ac.1.NAJRCoza0Ro"
google_news_search_tree = get_page_tree(url=google_news_search_url)
other_news_sources_links = [a_link.replace(forwarding_identifier, '').split('&')[0] for a_link in google_news_search_tree.xpath('//a//@href') if forwarding_identifier in a_link]
return other_news_sources_links
links = find_other_news_sources("https://www.google.com/search? hl=en&gl=us&tbm=nws&authuser=0&q=ohio+pay-to-play&oq=ohio+pay-to-play&gs_l=news-cc.3..43j43i53.2737.7014.0.7207.16.6.0.10.10.0.64.327.6.6.0...0.0...1ac.1.NAJRCoza0Ro")
with open('textanalysistest.csv', 'wt') as myfile:
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
for row in links:
print(row)