勉強がてら某画像サイトの自分がフォローしている人の画像を一括でダウンロード出来るようなスクリプトをサイトのソースを見て書いています。
しかし、元々そのスクリプトが書かれていたサイトのソースコードに若干の不備が有り、現在エラーが出て止まっています。
お力をお借りしたいです。
以下止まっている所までのソース
*- 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.のソースになります。
リンク内容
回答1件
あなたの回答
tips
プレビュー