/
amakan_register.py
67 lines (50 loc) · 1.92 KB
/
amakan_register.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# coding: utf-8
# amazonのurlリストをamakanに投げて登録するやつ
# デザイン変更で動かなくなる可能性が高い
from time import sleep
from selenium import webdriver
import utils
amakan_top_url = 'https://amakan.net/'
amakan_login_url = 'https://amakan.net/login'
amakan_product_url = 'https://amakan.net/search?query={}'
email = 'your user_id or email'
password = 'your password'
def login_amakan():
# ログインページヘ
driver.get(amakan_login_url)
# ユーザーIDを入力
elem = driver.find_element_by_name('name_or_email')
elem.clear()
elem.send_keys(email)
# パスワードを入力
elem = driver.find_element_by_name('password')
elem.clear()
elem.send_keys(password)
elem.submit()
# トップページに遷移していたらログイン成功
if driver.current_url == amakan_top_url:
return True
def regist_amakan():
amazon_url_list = utils.pickle_load('amazon_url_list.pickel')
for url in amazon_url_list[22:]:
try:
# 個別ページにアクセス
driver.get(amakan_product_url.format(url))
print(driver.find_element_by_css_selector('.card-header').text)
# 「読んだ」ボタンを取得
elem = driver.find_element_by_css_selector('.wis-numbers > .waves-effect')
# 既に「読んだ」がついていたらスキップ
if 'active' not in elem.get_attribute('class'):
elem.click()
except Exception as e:
# なんか失敗したらとりあえずエラーだけ出しておく
print(url)
print(e)
# 感謝のsleep1秒
sleep(1)
if __name__ == '__main__':
# ヘッダーレスの方が良いと思うけど、準備のいらないFirefoxにしておく
driver = webdriver.Firefox()
login_flg = login_amakan()
if login_flg:
regist_amakan()