家賃二万円のブログ

プログラミングできる彼女募集してます。

slackbotで使う夢占いスクレイピングスクリプトの作成

見た夢をスペース区切りでキーワード検索すると、配列にタイトルと内容が入るようにした。 github.com

できてない事

  • slackに書き込まれた内容を取得する
  • slackに見やすく出力する事

できた事

  • seleniumでのブラウザの操作(送信まで)
  • beautiful soup4を利用した、タグを除去したテキストの抽出
  • ↑classやnameなんて一切ないソースからの抽出(new!)

何をやったのか(コードの解説)

def sel()
入力BOXにはnameが設定されていた。
find_element_by_name('検索したいname')を使うと、nameを検索して、そこを選択することができる。
変数にその位置情報を突っ込んで置いて、.send_keys('変数とか')で内容をキーボード入力することができる。
submit()で送信ができる!→最初キー入力でenterができるようにしてたけどうまくかなかった。これが一番正しいんだと思います。
つまり、inputして、それを.send_keys('変数')、submit()するまでの一連の流れが普段googleとかでググってる動作と一緒なんだなーって思う。
driver.page_source を使うことで、現在のページのソースを全部取ってきて、戻り値としてそのソースを呼び出し元に戻してる。

def scraping()
こっちでbeautiful soup4を使ってる。
selを呼び出して、内容をhtmlに入れる。
BeautifulSoup('変数','パーサー名')って感じにやるとなんかbeautiful soup4でいい感じに整理されるらしい(謎)
.find_allで目的のタグの入った要素を全部取り出すことができるらしい。複数選択とかもできる。
.textつけると内容を取ることができる。
ちなみにこれはループ分使わなきゃダメ。.find_all.textみたいな感じにするとエラー出る。

ちょっとテレビ見ながら結構前のをうろ覚えで解説書いたから滅茶苦茶になってる。
githubにpushしたいけど、atomとターミナルでなんか同期されなくて毎回gitのコマンドを確認してしまう。