Même si vous tapez des mots clés comme vous pouvez l'imaginer et effectuez une recherche Google, cela a tendance à être inefficace, comme les recherches en double, sauf si vous enregistrez ce que vous avez recherché et comment.
Cependant, il est difficile de prendre des notes une par une, donc je pense que beaucoup de gens enregistrent la page de résultats de recherche de Google sous la forme d'une source de page ou d'une archive Web et la considèrent à nouveau lentement.
Cependant, c'est aussi un peu ennuyeux.
Par conséquent, nous avons résumé le processus de la saisie des mots clés de recherche à l'enregistrement du HTML en une seule étape.
-Si vous donnez (1) des mots-clés de recherche et (2) le nombre de résultats affichés par page, la page de résultats de recherche sera enregistrée sous forme de fichier HTML dans le répertoire de travail (CWD).
Vous serez invité deux fois, donc
--Saisissez la requête (mot-clé de recherche) à la première invite, --Si vous souhaitez ajouter des options de recherche (site: go.jp, filetype: pdf, etc.), saisissez-les ensemble à ce stade. * c.f. * Améliorer la précision de la recherche sur le Web
――C'est inutilement une classe pour diverses raisons, mais comprenez s'il vous plaît ... ――Cette fois, lorsque vous obtenez html_text, vous le déposez immédiatement dans un fichier HTML, mais vous pouvez bien sûr l'utiliser tel quel sans le déposer dans un fichier.
――Lorsque vous regardez le HTML, les destinations des liens des résultats apparaissent quatre fois par cas, changeant leur apparence et leur forme. ――Il n'y a que le siège de la structuration (?), Donc c'est vraiment bien fait ...
google_fetcher.py
import os
from urllib.parse import quote_plus, urlunsplit
import requests
import re
PROJECT_ROOT_PATH = '.'
class GoogleResultsPage:
'''Query text, Results number per page -> search results response'''
def __init__(self, query, rslts_num):
self.__qry = query
self.__num = rslts_num
query_string = 'q='+quote_plus(self.__qry)+'&num='+str(self.__num)
search_string = urlunsplit(
('https', 'www.google.com', '/search', query_string, ''))
self.__sstr = search_string
def page_fetcher(self):
'''Fetch the result page and return as a text response'''
my_headers = {'user-agent':
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6)\
AppleWebKit/537.36 (KHTML, like Gecko)\
Chrome/84.0.4147.105 Safari/537.36'}
response = requests.get(self.__sstr,
headers=my_headers, timeout=(3.05, 27))
return response.text
################################
# Output to a file.
def html_to_file(html_text):
'''Text response content to a HTML file.'''
output_file_name = re.sub(r'[\/.:;*?"<>| ]', r'_', query)+'.html'
output_file_path = os.path.join(PROJECT_ROOT_PATH, output_file_name)
with open(output_file_path, 'w') as f:
f.write(html_text)
print('Done! ', end='')
print('File path:', output_file_path)
if __name__ == '__main__':
query = input('Query? >> ')
rslts_num = input('Results per page (upto 100)? >> ')
html_text = GoogleResultsPage(query, rslts_num).page_fetcher()
html_to_file(html_text)