私の博士号の一部として研究、私は多くのウェブページを掻き集めて、スクレイプ結果内のキーワードを検索しています。これはうまく動作します結果をスクレイプして保存し、PythonとPandasで検索しますか?
# load data with as pandas data frame with column df.url
df = pd.read_excel('sample.xls', header=0)
# define keyword search function
def contains_keywords(link, keywords):
try:
output = requests.get(link).text
return int(any(x in output for x in keywords))
except:
return "Wrong/Missing URL"
# define the relevant keywords
mykeywords = ('for', 'bar')
# store search results in new column 'results'
df['results'] = df.url.apply(lambda l: contains_keywords(l, mykeywords))
:
は、これは私がこれまでにそれを行う方法です。 1つの問題しかありません。関連キーワードのリストmykeywords
が頻繁に変更されますが、ウェブページは同じままです。私はrequest
何度も何度も繰り返しているので、コードの実行には長い時間がかかります。
I持っている二つの質問:
(1)request.get(link).text
の結果を格納する方法はありますか?
(2)もしそうなら、現在のスクリプトと同じ結果を生む保存されたファイル内をどのように検索するのですか?
いつもありがとうございました。/R
の絶対パスを使用:'出力= requests.getを(リンク).text' with: 'output = open( 'urls /' + link).read()' –
これは、後でインデックス化できる複数のファイルを作成しますか?要求されたURLごとにファイル名を指定する必要はありませんか? – Rachel
a)各リンクの内容をダウンロードし、ローカルディスクに保存します。適切な名前を使用します。例: "some.site.com_some_path.html" b)ファイルの名前を 'contains_keywords'に渡し、ファイルを読み込みます。 –