見出し画像

記事の順位を取得してみよう! SeleniumチュートリアルのGoogle検索を活用してみるのコード

Youtubeで使用したコードをここに残しておきます。

動画は以下になります。

特に説明することもないので何か気になったことがあればコメントにてお願いします。

コード

from time import sleep
from selenium import webdriver
import openpyxl
from selenium.webdriver.common.keys import Keys
import re

#pip install openpyxl

options = webdriver.ChromeOptions()
options.add_argument('--incognito') 
driver = webdriver.Chrome('chromedriver',options=options)

def google_search(word):
   href_list = []
   driver.get('https://google.jp')
   serch_box = driver.find_element_by_name('q')
   serch_box.send_keys(word)
   driver.find_element_by_name('q').send_keys(Keys.ENTER)
   sleep(2)
   base = driver.find_elements_by_css_selector('.yuRUbf > a')
   for i in base:
       href = i.get_attribute("href")
       href_list.append(href)
   return href_list

#Excel操作
excel_path = r".\google_search\excel\infomation.xlsx"
wb = openpyxl.load_workbook(excel_path)
ws = wb.worksheets[0]
start_cell = 2
finish_cell = 4

#自分のブログ
my_url_pattern = "https://kacchanblog.com/"

while True:
   search_word = ws.cell(row=start_cell, column=1).value
   print(search_word)
   
   href_list = google_search(search_word)
   col = 2
   for i, href in enumerate(href_list):
       if re.match(my_url_pattern, href):
           ws.cell(row=start_cell, column=col).value = i+1
           ws.cell(row=start_cell, column=col+1).value = href
           col+=2
           print(href)

   if start_cell==finish_cell:
       wb.save(excel_path)
       break
   start_cell+=1
   

いただいたサポートは全額勉強のために使わせていただきます。 という綺麗事もありなんですけど、ただただモチベーションの維持に使わせていただこうかなと考えています。 という遊び心も置いといて、有難いことに記事を買っていただけているのでサポートしたいという気持ちだけでも有難いです。