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

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

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

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

Python

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

3161閲覧

Pythonでの管理者了解済みaspxファイルWebサイトスクレイピング

tAkuya43

総合スコア3

Beautiful Soup

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

Python

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2021/06/18 08:18

編集2021/06/18 09:33

前提・実現したいこと

Pythonでのスクレイピングの学習を始めて1週間程のものです。
管理者から了解を得て業務として社内Webサイトのtableデータを加工して業務改善を図ろうとしています。
まずは認証が上手くいくか試すためにBeautiful Soupでtitleのテキストを取得を試みています。

発生している問題・エラーメッセージ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <title>401 - Unauthorized: Access is denied due to invalid credentials.</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;} fieldset{padding:0 15px 10px 15px;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0;color:#CC0000;} h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF; background-color:#555555;} #content{margin:0 0 0 2%;position:relative;} .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} --> </style> </head> <body> <div id="header"><h1>Server Error</h1></div> <div id="content"> <div class="content-container"><fieldset> <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2> <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3> </fieldset></div> </div> </body> </html>

該当のソースコード

import requests
from bs4 import BeautifulSoup
from requests.auth import HTTPBasicAuth

url = "http:/*********"
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36"
headers = {"User-Agent": user_agent}

session = requests.session()
r = session.get(url,auth=HTTPBasicAuth("account", "pass"),headers=headers)
key = {"ASP.NET_SessionId" : "value"}
s = r.cookies
requests.post(url, data=key,cookies=s)
soup = BeautifulSoup(r.content,"html.parser")
title = soup.find("td", attrs={"class":"title"})
print(title)

試したこと

Fiddler4を使用し、ResponseのcookieにASP.NET_SessionIdとChromeのDeveloper ToolsのNetworkからasxファイルを確認しました。
ネットでASP.NET_SessionIdの取得方法はあるのですが、値を与えてログインする方法が見当たらなく手詰まりの状態です。
足らない情報等あると思いますがすぐに対応させて頂きますのでよろしくお願いします。

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/06/18 09:19

スクレイピング相手のサイトの所有者・管理者に了解を得てますか? もし了解も得ず赤の他人のサイトに対して勝手にやってるということですと、たぶん誰も助けてはくれないと思いますよ。業務妨害とかで逮捕された事例もあることを認識されているでしょうか。 質問者さんがサイトの管理者で、もしどこの誰かも分からない赤の他人がクローラとかを使ってアクセスしてきたら、止めてくれと思うのでは?
tAkuya43

2021/06/18 09:31

言葉が足らずで申し訳ありません。 会社の業務として業務改善で社内サイトをスクレイピングし加工をしようとしています。 管理者から了解を得てのスクレイピングでした。 一番大切な管理者から了解等の内容が抜けており申し訳ありません。 ご指摘ありがとうございます。 修正させて頂きます。
退会済みユーザー

退会済みユーザー

2021/06/18 09:48 編集

> 会社の業務として業務改善で社内サイトをスクレイピングし加工をしようとしています。 その「社内サイト」の方に手を加えて、スクレイピングなどしなくても目的のデータが得られるようにするのが現実的と思いますけど? ログインでもうトラブっているようですが、ASP.NET の標準の認証方式では ASP.NET でいう Session は使いません。独自実装なら知りませんが、それはここの閲覧者のような第三者は何も知り得ないのでここで聞いても答えは得られないかと。 何にしても、社内の業務なら、こういうネットの Q&A サイトで赤の他人に聞くのは筋違いで、社内で解決すべきと思いますよ。上司・先輩に聞くことをお勧めします。
tAkuya43

2021/06/18 10:56

背景まで伝えた方がよかったですね。 当方、製造技術側の人間で、所属している現場のごくわずかな人員が使う情報を吸出し加工をし活用したいと思っていました。 上長等も製造なのでプログラムのことはわかりません。 ご意見ありがとうございました。 閉めさせて頂きます。
guest

回答1

0

自己解決

閉めさせて頂きます。

投稿2021/06/18 10:59

tAkuya43

総合スコア3

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問