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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

789閲覧

requests.get()でのページ遷移ができない

Meteora_Clark

総合スコア31

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2022/03/25 12:09

編集2022/03/26 00:57

Beautiful Soupを使用したスクレイピングで、
ログインページでログイン後、特定のページに遷移したいのですが出来ません.
サイトはActive adminを使用しています。

Loginurl :https://-.info/admin/login
A url:https:/-.info/admin/assesment
B url https//-.info/admin/dashboard
ログイン後、Aのページに遷移したいのですが、print(soup)の結果はBのページのものであり、一致しません
diffを見てみるとプログラムの出力結果の方には

html

1<div class="flash flash_alert">アクションを実行する権限がありません</div>

と記載がありました.

Python3

1import requests 2from bs4 import BeautifulSoup 3import time 4import sys 5import os 6import json 7from urllib.parse import urljoin 8import tqdm 9PATH_Login = "https://--.info/admin/login" 10#loginページでポストするユーザー名やパスワードを格納 11JSONOPEN = open('load.json', 'r+') 12JSONLOAD = json.load(JSONOPEN) 13login_data = JSONLOAD["login_data"] 14 15def main(): 16 session = requests.session() 17 response = session.get(PATH_Login) 18 soup = BeautifulSoup(response.text,"html.parser") 19 authenticity_token = soup.find(attrs={'name':'authenticity_token'}).get('value') 20 login_data['authenticity_token'] = authenticity_token 21 #get cookie 22 response_cookie= response.cookies 23 login = session.post(PATH_Login,data=login_data,cookies=response_cookie) 24 25 PATH_page = "https://--.info/admin/assesment" 26 res = session.get(PATH_page) 27 res.raise_for_status() 28 29 soup = BeautifulSoup(res.text,"html.parser") 30 print(soup) 31 time.sleep(1) 32 return 0 33 34if __name__ == "__main__": 35 main() 36

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

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

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

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

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

guest

回答1

0

自己解決

Seleniumを使用したら出来ました。動的サイトではrequestsはつかえないんですね

投稿2022/03/29 15:05

Meteora_Clark

総合スコア31

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問