芋の独り言

当ブログへのアクセスは当ブログのプライバシーポリシーに同意したものとみなします.

ニコニコ動画へPython自動ログイン

公式動画へのコメント鳥を試していたら,いくつかのモジュールでログインまでは出来たんで,まとめておきます.

requests

# -*- coding: utf-8 -*-
import requests
from time import sleep

url = "取得したい動画のURL"
mail = "ニコニコ動画のログインするメアド"
password = "ニコニコ動画のログインするパスワード"

# セッションを開始
session = requests.session()
        
login_info ={
    'mail_tel':mail,
    'password':password
    }

# action
url_login = "https://account.nicovideo.jp/api/v1/login?show_button_twitter=1&site=niconico&show_button_facebook=1&next_url=&mail_or_tel=1"

res = session.post(url_login, data=login_info) # proxyがあれば引数proxiesに辞書型で入れる
res.raise_for_status() # エラーならここで例外を発生させる
sleep(1)

# 動画ページへ
video_url=session.get(URL,proxies=proxy_dict)
video_url.raise_for_status()

selenium

#encoding:utf-8
from selenium import webdriver
from time import sleep

url = "取得したい動画のURL"
mail = "ニコニコ動画のログインするメアド"
password = "ニコニコ動画のログインするパスワード"

browser = webdriver.Chrome(executable_path='./chromedriver')

# ニコニコ動画にログイン
url_login="https://account.nicovideo.jp/login?site=niconico&time=1568443071&hash_key=57aa5439&next_url="
browser.get(url_login)
browser.find_element_by_id("input__mailtel").send_keys(mail)
browser.find_element_by_id("input__password").send_keys(password)
sleep(1)
browser.find_element_by_id("login__submit").click()
sleep(1)
            
# 動画ページへ
browser.get(url)
sleep(10)

mechanize

# -*- coding: utf-8 -*-
from mechanize import Browser
from time import sleep

url = "取得したい動画のURL"
mail = "ニコニコ動画のログインするメアド"
password = "ニコニコ動画のログインするパスワード"
url_login = "https://account.nicovideo.jp/login?site=niconico&time=1568443071&hash_key=57aa5439&next_url="

br = Browser()
br.open(url_login)

br.select_form(nr=0)
br["mail_tel"] = mail
br["password"] = password
br.submit()
sleep(1)

# 動画ページへ
try:
    br.open(url)
except mechanize._response.httperror_seek_wrapper as me:
    print(me)
print(br.response().read())

Robobrowser

# -*- coding: utf-8 -*-
from robobrowser import RoboBrowser

url = "取得したい動画のURL"
mail = "ニコニコ動画のログインするメアド"
password = "ニコニコ動画のログインするパスワード"

browser = RoboBrowser(parser="html.parser")

# ニコニコ動画にログイン
url_login="https://account.nicovideo.jp/login?site=niconico&time=1568443071&hash_key=57aa5439&next_url="
browser.open(url_login)

form = browser.get_form()
form['mail_tel'] = mail
form['password'] = password
browser.submit_form(form)

# 動画ページへ
browser.open(url)

参考