got an unexpected keyword argumentというエラーメッセージ
Google検索順位取得→エクセルに落とすというtoolをpythonで作っていますが、got an unexpected keyword argument
というエラーメッセージがでてしまい、どうしてもうまく実行されません。
Excelファイル読み込みあたりのencodingのところで「予期しないキーワード引数」を受け取りましたと表示されなにか不具合が起きているのですが、自己解決ができませんでした。
どなたか教えていただければ幸いです。
ソースコード
# coding:utf-8
import requests
import bs4
import csv
import datetime
import pandas as pd
from time import sleep
#出力データ
output_data = []
# output_data.append(['クエリ','検索順位', 'サイトtitle', 'サイトURL', '日付'])
today=datetime.date.today()#今日の日付
#検索順位取得処理
def search_url_google(search_url_keyword):
if search_url_keyword and search_url_keyword.strip():
#Google検索の実施
search_url = 'https://www.google.co.jp/search?hl=ja&num=100&filter=0&q=' + search_url_keyword
print("[INFO]Googleにアクセスしました")
res_google = requests.get(search_url)
print("[INFO]検索結果の取得に成功しました。")
print("-----------------------------------------------------------------------")
res_google.raise_for_status()
#BeautifulSoupで掲載サイトのURLを取得
bs4_google = bs4.BeautifulSoup(res_google.text, 'html.parser')
link_google = bs4_google.select('div > h3.r > a')
for i in range(len(link_google)):
#なんか変な文字が入るので除く
site_url = link_google[i].get('href').split('&sa=U&')[0].replace('/url?q=', '')
site_title=bs4_google.select('div > h3.r > a')[i].text#textで中身抽出。stringでもいいけどなぜかnoneが返る
if 'https://' in site_url or 'http://' in site_url:
#サイトの内容を解析
try:
#print("[{}位:「{}」,URL「{}」]".format(i+1,site_title,site_url))
rank = i+1
title = site_title
URL = site_url
output_data_new = search_url_keyword, rank, title, URL, today
output_data.append(output_data_new)
except:
continue
#CSVに書き出し
def csv_write():
csv_file = open('[database].csv', 'a', encoding="utf_8_sig")
csv_writer = csv.writer(csv_file, lineterminator='\n')
csv_writer.writerows(output_data)
csv_file.close()
#Excelファイル読み込み
file = pd.read_excel('z.xlsx', encoding='utf8')
sheet_def = file.parse('Sheet1', header=None)
sheet_def = sheet_def[2:]
# 行ごとに処理
for i, row in sheet_def.iterrows():
print('検索ワード:{}'.format(sheet_def.iat[i-2,1]))
search_url_google(sheet_def.iat[i-2,1])
sleep(2)
csv_write()
print("ok")#終わり
エラーメッセージ
File "grc_test.py", line 57, in <module>
sheet_def = file.parse('Sheet1', header=None)
File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 5067, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'parse'
環境
python 3.7.3
pip 19.0.3
astroid==2.2.5
beautifulsoup4==4.7.1
certifi==2019.3.9
chardet==3.0.4
idna==2.8
isort==4.3.17
lazy-object-proxy==1.3.1
mccabe==0.6.1
numpy==1.16.2
pandas==0.24.2
pylint==2.3.1
python-dateutil==2.8.0
pytz==2019.1
requests==2.21.0
six==1.12.0
soupsieve==1.9.1
typed-ast==1.3.1
urllib3==1.24.1
wrapt==1.11.1
xlrd==1.2.0