import requests
from bs4 import BeautifulSoup
import pandas as pd
import re
import urllib.parse
import sys
import datetime
import os

# path = path = './Kyouzai_bs4'
# os.makedirs(path, exist_ok=True)


sub_title = pd.read_csv("社会学１　前期.csv",encoding="cp932",header=None)
#1列目のものをsub_listに追加する（授業タイトル）
sub_list = sub_title.iloc[:,0]

hp_title = [[] for _ in range(len(sub_list))]
hp_url = [[] for _ in range(len(sub_list))]
pages_num = 15 + 1

for j in range(len(sub_list)):
    search_word = sub_list[j]
    url = f'https://www.google.co.jp/search?hl=ja&num={pages_num}&q={search_word}'
    request = requests.get(url)
    soup = BeautifulSoup(request.text,'html.parser')

    # aタグの中身を searxh_Results を入れる
    search_Results = soup.select('.kCrYT > a')
    #取得するURLのタイトルを入れる
    search_title = soup.select('.BNeawe.vvjwJb.AP7Wnd')

    print(search_word)

    print(len(search_title))

    for i in range(len(search_title)):
        #なんか変な文字が入るので除く       
        site_url = str(search_Results[i].get('href').split('&sa=U&')[0].replace('/url?q=', ''))
        #URLに日本語が含まれている場合、エンコードされているのでデコードする
        site_url = urllib.parse.unquote(urllib.parse.unquote(site_url))

        #いらない文字を削除
        site_title = str(search_title[i]).strip('<div class="BNeawe vvjwJb AP7Wnd">')
        site_title = site_title.strip('</')
        # site_title = str(search_title[i]).strip('<div class="BNeawe vvjwb AP7Wnd">').strip('</')J
        #URLに日本語が含まれている場合、エンコードされているのでデコードする
        site_title = urllib.parse.unquote(urllib.parse.unquote(site_title))
        
        #print(site_title)
        hp_title[j].append(site_title)
        hp_url[j].append(site_url)

for j in range(len(sub_list)):
    df = pd.DataFrame({'HPtitle':hp_title[j],'HPurl':hp_url[j]})
    df.to_csv(f'./Kyouzai/kyouzai{j}.csv',index=None,encoding='utf-8-sig')




# hp_title = [[] for _ in range(len(sub_list))]
# hp_url = [[] for _ in range(len(sub_list))]

# for j in range(len(sub_list)):
#     search_word = sub_list[j]
#     pages_num = 15 + 1
    
#     url = f'https://www.google.co.jp/search?hl=ja&num={pages_num}&q={search_word}'
#     request = requests.get(url)
    
#     soup = BeautifulSoup(request.text,'html.parser')
    
#     # aタグの中身を searxh_Results を入れる
#     search_Results = soup.select('.kCrYT > a')
#     #取得するURLのタイトルを入れる
#     search_title = soup.select('.BNeawe.vvjwJb.AP7Wnd')
    
    
#     for i in range(len(sub_list)):
#         #なんか変な文字が入るので除く       
#         site_url = str(search_Results[i].get('href').split('&sa=U&')[0].replace('/url?q=', ''))
#         #URLに日本語が含まれている場合、エンコードされているのでデコードする
#         site_url = urllib.parse.unquote(urllib.parse.unquote(site_url))
    
#         #いらない文字を削除
#         site_title = str(search_title[i]).strip('<div class="BNeawe vvjwJb AP7Wnd">').strip('</')
#         #URLに日本語が含まれている場合、エンコードされているのでデコードする
#         site_title = urllib.parse.unquote(urllib.parse.unquote(site_title))
        
#         #print(site_title)
#         hp_title[j].append(site_title)
#         hp_url[j].append(site_url)
    
# for i in range(len(sub_list)):
#     df = pd.DataFrame({'HPtitle':hp_title[j],'HPurl':hp_url[j]})
#     df.to_csv(f'./Kyouzai/kyouzai_{i}.csv',index=None,encoding='utf-8-sig')





    
#     if 'https://' in site_url or 'http://' in site_url:
#         try:
#             res_site = requests.get(site_url)
#             res_site.encoding = 'utf-8'
#         except:
#             continue
#         bs4_site = BeautifulSoup(res_site.text, 'html.parser')
        
        
#         #データを初期化
#         title_site = ''
#         h1_site = ''
#         h2_site = ''
#         h3_site = ''
#         mojisu_site = 0

#         #データを取得
#         if bs4_site.select('title'):
#             title_site = replace_n(bs4_site.select('title')[0].getText())
#         if bs4_site.select('h1'):
#             h1_site = concat_list(bs4_site.select('h1'))
#         if bs4_site.select('h2'):
#             h2_site = concat_list(bs4_site.select('h2'))
#         if bs4_site.select('h3'):
#             h3_site = concat_list(bs4_site.select('h3'))
#         if bs4_site.select('body'):
#             mojisu_site = len(bs4_site.select('body')[0].getText())