質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

921閲覧

Python ID取得が出来ない

sigret

総合スコア45

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/12/28 16:49

編集2020/12/29 04:29

勉強がてら某画像サイトの自分がフォローしている人の画像を一括でダウンロード出来るようなスクリプトをサイトのソースを見て書いています。
しかし、元々そのスクリプトが書かれていたサイトのソースコードに若干の不備が有り、現在エラーが出て止まっています。
お力をお借りしたいです。

以下止まっている所までのソース

*- coding: utf-8 -*- from pixivpy3 import * import json from time import sleep import sys, io, re, os from robobrowser import RoboBrowser from bs4 import BeautifulSoup f = open("client.json", "r") client_info = json.load(f) f.close() aapi = AppPixivAPI() aapi.login(client_info["pixiv_id"], client_info["password"]) フォローユーザーの総数を取得 self_info = aapi.user_detail(client_info["user_id"]) following_users_num = self_info.profile.total_follow_users フォローユーザー一覧ページのページ数を取得 if(following_users_num%48 != 0): pages = (following_users_num//48)+1 else: pages = following_users_num//48 タグ除去用 p = re.compile(r"<[^>]*?>") [jump:1]形式除去用 jump = re.compile(r"[jump:.+]") ファイルエンコード設定用 character_encoding = 'utf_8' Webスクレイパーのログイン処理 pixiv_url = 'https://www.pixiv.net' browser = RoboBrowser(parser='lxml', history=True) browser.open('https://accounts.pixiv.net/login') form = browser.get_forms('form', class_='')[0] form['pixiv_id'] = client_info["pixiv_id"] form['password'] = client_info["password"] browser.submit_form(form) フォローユーザー一覧ページのURLを設定 target_url = 'https://www.pixiv.net/bookmark.php?type=user&rest=show&p=' 全てのフォローユーザーのユーザIDを取得 following_users_id = [] for i in range(1, pages+1): print(target_url + str(i)) browser.open(target_url + str(i)) following_users = browser.find(class_='members') for user in following_users.find_all("input"): following_users_id.append(user.get("value")) sleep(3) # ページを移動したら一時待機する(マナー) print(following_users_id)``` 現在上記ソースを実行すると以下のようなエラーが出ます Traceback (most recent call last): File "C:\Users\sigre\AppData\Local\Programs\Python\Python39\Lib\site-packages\pixivpy3\pixiv\get_following_userID.py", line 53, in <module> for user in following_users.find_all("input"): AttributeError: 'NoneType' object has no attribute 'find_all'

find_allが何かおかしいのはエラーからわかったのですが対応が分かりません・・・。
また、following_users_id の中身も空でIDが取得出来ておりませんでした。(find_allがエラーになった為?)

初心者質問で申し訳ないですがご教授下さい。

サイト
こちらの1.のソースになります。
リンク内容

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/12/28 22:21

このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
sigret

2020/12/29 04:30

すみませんでした。修正しました。
meg_

2020/12/29 04:50

> 某画像サイトの自分がフォローしている人の画像を一括でダウンロード出来るようなスクリプト 著作権・肖像権については大丈夫でしょうか?
sigret

2020/12/29 04:55

meg_さん> 商用や転載目的で無く、あくまでその人の絵を直ぐに見れるように自端末にDlしたい、なので問題ありません。 サイトから一枚一枚一つずつ取る事も手動では可能なのですが、何千何万と投稿した絵が多い人だと途轍もない作業量になるのでこのスクリプトがあります。
meg_

2020/12/29 06:03

サイトのガイドラインに下記がありましたので、本質問に対する回答は差し控えることとします。 https://www.pixiv.net/terms/?page=guideline 禁止行為(抜粋) ・クローラーなどのプログラムを使って作品を収集する行為
sigret

2020/12/29 06:58

meg_さん> ダメだったんですね・・Σ(・□・;) 不勉強でした・・クローズします
guest

回答1

0

自己解決

違反行為であった為プログラムを消し、この質問をクローズします。

投稿2020/12/29 07:05

sigret

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問