グーグル検索の結果100件分をCSVファイルに保存する
やりたいこと
グーグル検索の結果100件分をCSVファイルに保存したい
実装方法
Seleniumを利用してWebスクレイピングを実施する
環境
Windows10
jupyter notebook
chromedriverのダウンロード先
ChromeDriver - WebDriver for Chrome
実装
# Selenium用
from selenium import webdriver
import time
# スクレイピングを実施してcsvに書き出し用
from bs4 import BeautifulSoup
import requests
import lxml
import csv
# Chromedriverを立ち上げる(DLしてローカル環境に指定する)
driver = webdriver.Chrome('C:/Users/user/jupyternb/chromedriver_win32/chromedriver.exe')
# google検索 100件表示分(?num=100)を指定する
driver.get('https://www.google.co.jp/search?num=100');
# 待機
time.sleep(3)
# キーワードの指定
keywords = str('python スクレイピング')
# 検索する
search_box = driver.find_element_by_name('q')
search_box.send_keys(keywords)
search_box.submit()
# 待機
time.sleep(6)
# 検索した結果のURLを取得する
url = driver.current_url
# Chromedriverを止める
driver.quit()
print(url)
# ヘッダーの指定
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
}
# 検索結果のURLを指定する
get_url = requests.get(url, headers=headers)
get_url.raise_for_status()
# 取得したURLのソースをスクレイピングする
soup = BeautifulSoup(get_url.text, 'lxml')
# 検索結果のタイトルとリンクを取得する
link_title = soup.select('.r > a')
# 検索結果の説明部分を取得する
link_disc = soup.select('.s > div > .st')
# 検索結果を数える
if(len(link_disc) <= len(link_title)):
leng = len(link_disc)
else:
leng = len(link_title)
# csvファイルを書き込み用にオープンして整形して書き出す
with open('output/' + '['+ keywords + ']_g_output_2.csv', 'w', newline='', encoding='utf-8') as f:
csvwriter = csv.writer(f)
csvwriter.writerow(['タイトル', '説明', 'URL'])
for num in range(leng):
# リンクのみを取得し、余分な部分を削除する
url_text = link_title[num].get('href').replace('/url?q=','')
# タイトルのテキスト部分のみを取得する
title_text = link_title[num].get_text()
# 説明のテキスト部分のみを取得/余分な改行コードを削除する
text_1 = link_disc[num].get_text()
text_2 = text_1.replace('\n', '')
disc_text = text_2.replace('\r', '')
csvwriter.writerow([title_text, disc_text, url_text])
結果(先頭から5件分)
参考URL
Google検索結果から、タイトルとURLと説明文だけを抜き取る/PythonでWebスクレイピング
【Python】Seleniumで検索結果をスクレイピングしてCSV出力する
Python + Selenium で Chrome の自動操作を一通り
Author And Source
この問題について(グーグル検索の結果100件分をCSVファイルに保存する), 我々は、より多くの情報をここで見つけました https://qiita.com/tirin2015/items/e45860b2dc350a3ca83d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .