1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python×Automagica:社員紹介記事を自動収集した話

Last updated at Posted at 2019-09-23

はじめに

###■背景
当社はベンチャーということもあり、人の入れ替わりが比較的多い。
また、社員は基本的に客先に常駐しており、案件が異なると全く顔を合わせないこともある。
「お互いに顔と名前が一致しない」という事態が多々起きていることを経営層が問題視し始めた。

一方で、入社時にはSNSに自己紹介記事を載せるが、色んな話題が飛び交っている内に古い記事は参照しにくくなっていた。

###■目的###
そこで、今いる社員の名簿を元に、Automagicaにて、記事のURLとスクショを自動収集するプログラムを作成し、出力結果を共有することで問題解決を図った。

###■捕捉
なお、Automagica自体については、先人達の記事を参照されたい。
記事1:Automagica : ベルギー発Oakwood Technologies BVBA製のRPAの日本語解説
記事2:automagicaことはじめ
記事3:Python×業務効率化 Automagicaでブラウザを自動で動かしてみた

作ったもの

###■インプット
社員の氏名をリスト化したテキストファイル
###■プロセス
1、Chromを起動
2、記事検索ページに遷移し、「社員の氏名 自己紹介」で記事を検索
3、検索結果の最上位記事のリンクをクリック
4、該当ページのURLをURLリストに格納、及び、該当ページをスクショ保存
5、2~4を社員リストの分だけ繰り返し
6、URLリストをテキストファイルとして出力

###■アウトプット
・各社員紹介ページのスクショ
・各社員紹介ページのURL

コード

一部は社内情報の為マスキング。

search_shain_article.py
from automagica import *
import time

#SNSの検索窓のxpath
xpath_SerachText = '//*[@id="Pagesearch_999"]/div/div/div/div/label/input'
xpath_SerachButton = '//*[@id="Pagesearch_999"]/div/div/div/div/button'
xpath_LoginID = '//*[@id="id"]'
xpath_LoginPass = '//*[@id="pass"]'

#ログイン情報
LoginID = 'LOGIN_ID'
LoginPass = 'LOGIN_Pass'

#URL格納リスト
url_list = []


#Chromeを起動してウィンドウ位置と大きさ調整
browser = ChromeBrowser()
browser.set_window_position(0, 0)
browser.set_window_size(1000, 600)

#SNSを立ち上げてログイン
browser.get('https://www.XXXXXXX.com')
browser.find_element_by_xpath(xpath_LoginID).send_keys(LoginID)
browser.find_element_by_xpath(xpath_LoginPass).send_keys(LoginPass)
time.sleep(1)
ClickOnPosition(200, 500)

#インプットファイルの行数分繰り返す
for ShainName in open("meibo.txt", "r"):

    #改行コードを削除
    ShainNameRstrip = ShainName.rstrip('\n')

    #SNSで検索ページを開く
    browser.get('https://www.XXXXXXX.com/YYYYYY')

    #検索する内容
    content = '社員紹介記事 ' + ShainNameRstrip

    #検索窓を探して内容を検索
    browser.find_element_by_xpath(xpath_SerachText).send_keys(content)
    browser.find_element_by_xpath(xpath_SerachButton).click()

    #検索結果の最上位のリンクをクリック
    time.sleep(3)
    ClickOnPosition(500, 200)

    #スクショ保存、URL格納
    time.sleep(3)
    filename = ShainNameRstrip + '.png'
    browser.get_screenshot_as_file(filename)
    URL_content = ShainNameRstrip + ' ' + browser.current_url
    url_ist.append(URL_content)    

#リストに書き出し
WriteListToFile(url_list, 'URLlist.txt')

#ブラウザを閉じて終了
browser.close()

#結果
###スクショ達
image.png
これをばら撒くことで、顔と名前とどんな人かを全員で共有出来た(はず)。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?