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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

2回答

1245閲覧

ページを開いたときに読み込まれるファイルの取得の仕方を教えてください

shirai

総合スコア1289

Python 3.x

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2019/06/18 09:02

前提・実現したいこと

ChromeのDevToolsのNetworkタブに出てくる読み込まれたファイル一覧に対して、
pythonのseleniumを用いたスクレイピングをかけたいです。

例えばhttps://www.google.comにアクセスすると
以下のように表示されますが
イメージ説明

特定のファイルの『中身』を取得することが目的になります。

『中身』とは具体的にPreviewで表示される情報です。
イメージ説明

該当のソースコード

Python3

1import requests 2r = request.get('https://www.google.com') 3print(r.text) # 一通り他のメソッドも試しました。

試したこと

分けも分からずrequestsをimportしてみました。
以下のサイトを参考に様々なメソッドを実行してみましたが、
https://2.python-requests.org//en/master/api/#requests.Response
それらしい結果を得ることができませんでした。

もう少し正確に言うといくつかは表示されたのですが、
目的のファイルは見当たりません。

業務がからむので詳しいことは言えないのですが、
DevToolsのNetworkタブでXHRというタブに分類されており、
ダブルクリックをすると元のページにリダイレクトされました。
そもそもrequestsを使うのが間違っているのでしょうか。

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

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

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

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

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

t_obara

2019/06/18 10:55

requests はseleniumではありません。あるurlの内容を取得するのに様々な方法があり、requestsでもできるかもしれませんし、できないかもしれません。seleniumの方がブラウザでのアクセスを模擬しやすいと思いますが、それでできるかは試してみないと分りません。基本的にはブラウザでアクセスして表示できるものは取得できるとは思いますが。
guest

回答2

0

自己解決

調べたところ対象のページはfull calenderというライブラリが使われていました。
DevToolsで見えてもrequestsやbsなどでは取得できない値だったようです。
以下をpythonに埋め込んで解決できました。
ご回答いただきましたお二方、ありがとうございました。

JavaScript

1$('#calendar').fullCalendar('clientEvents');

投稿2019/06/18 14:48

shirai

総合スコア1289

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

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

0

本気でやるならリバースエンジニアリング Pythonによるバイナリ解析技法の「6.1 PyDbgによるソフトフック」にヒントが書いてあります。ので、それを読むと良いかもしれません。あとはmitmproxy的なアプローチもありだと思います。

投稿2019/06/18 11:58

編集2019/06/18 11:59
YouheiSakurai

総合スコア6142

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問