使用Python撰寫自動化搜尋特定關鍵字
Google關鍵字搜尋將搜尋結果排名紀錄下來
Selenium 使用 Chrome 瀏覽器 webdriver
SEO (Search Engine Optimization),是維護網站非常重要的一項工作,利用這個小程式可以自動化的搜尋關鍵字,並將搜尋排名結果存入檔案,以利分析成效與後續的持續優化。
需要先安裝 selenium 套件
下載 Chrome 瀏覽器 webdriver
額外會需要用到兩隻檔案,需要先建立好放置於py檔同層資料夾下
site.csv : 裡面放要搜尋的網站位置
terms.csv : 搜尋關鍵字
from selenium import webdriver
import csv
import time
chromedriver = "/Users/chifu/Documents/chromedriver"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--incognito")
driver = webdriver.Chrome(chromedriver, chrome_options=chrome_options)
csvr_site = csv.reader(open('site.csv', 'r'))
csvr_terms = csv.reader(open('terms.csv', 'r'))
outfile = open('rank.csv', 'w')
csvwriter = csv.writer(outfile)
search_pages = 5
for s in csvr_site:
site = s[0]
for row in csvr_terms:
print(row[0])
current_page = 1
while current_page <= search_pages:
if current_page == 1:
driver.get("https://www.google.com.tw/search?q=%s" % row[0])
else:
driver.get(next_pageurl)
time.sleep(1)
doms = driver.find_elements_by_css_selector("div.rc h3.r a")
next_pageurl = driver.find_element_by_css_selector("a#pnnext.pn").get_attribute("href")
counter = 0
rank = "not found"
for dom in doms:
counter += 1
href = dom.get_attribute("href")
if site in href:
rank = counter
break
if rank != "not found":
break
current_page += 1
csvwriter.writerow([row[0], current_page, rank])
outfile.flush()
time.sleep(1)
driver.close()
相關API參考