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

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

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

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

selenium

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

Q&A

解決済

1回答

15173閲覧

pandasにurlからデータインポート

manataku

総合スコア45

Python 3.x

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

selenium

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

0グッド

0クリップ

投稿2017/06/23 00:35

pandasを利用しurlから直接データを取り込み方法について教えてください。

下記コードのようにcsvが直接リンクされたurlからpandasにデータを取り込む方法は検索すると見つかるのですが、リンク先がjavascriptで記述されており、クリック後にファイルダウンロードが始まる仕様の場合、urlはどのように記述すればよろしいでしょうか。
リンク先は<a href="javascript:********">と記述されています。

環境
python3.5
windows7 64bit

pthon

1import pandas as pd 2url="https://rawdata/master.csv" 3table=pd.read_csv(url)

試したこと
seleniumを利用しcsvファイルをダウンロードすることはできました。
直接pythonにデータをインポートすることができないかのご相談です。

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

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

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

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

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

guest

回答1

0

ベストアンサー

  1. pandas でURL から データをインポートするにはどうするか?
  2. href="javascript:xxx"; みたいなURLの場合はどうするのか?

という二つの質問があると思うんですが 1 に関してはご自身で書いてるとおり pandasに直接URLを渡せば良いです。

python

1import pandas as pd 2table = pd.read_csv("https://rawdata/master.csv")

2の質問に関しては、"javascript:xxx" をそのまま pandas に渡してもダメなので、実際にボタンを押した時にアクセスしているURLを確認する必要があります。

A.ボタンを押す -> B.javascriptが動く -> C.実際のCSVダウンロードのURLにリクエストが飛ぶ

おそらくこういう動きになってると思うんですが C の時のURLが知りたいというイメージです。
GoogleChromeのデベロッパーツールに「Network」という機能があって、そこでどこのURLにアクセスしているか
確認できるので試してみてください。

ボタン押した時にアクセスURLがその「Network」の情報として表示されると思います。

http://www.buildinsider.net/web/chromedevtools/01

投稿2017/06/23 11:39

tell_k

総合スコア2120

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

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

manataku

2017/06/26 04:17

tell_Kさん 返答遅くなり申し訳ありません。 GoogleChromeのデベロッパーツールに 「Network」という機能について初めて知りました。 ありがとうございます。 早速、Networkタブを表示し、Headersより Request URL:http://~.aspxを見つけることができました。 データ格納元には複数のCSVファイルへのリンクが表示あり、 他のリンク先についても同様にチェックしたことろ、 同じRequest URL:http://~.aspxが表示されました。 それぞれのリンク先ファイルは別データになりますので、 どこかに識別コードが入るものと考えましたが、 リンク先の確認方法はこれでよろしかったでしょうか。
tell_k

2017/06/26 08:31

CSVをダウンロードする時にそのURLが叩かれているのでれば、あってるとは思います。 > http://~.aspx 違うタイプのCSVでも同じURLが叩かれているのであれば、例えばPOSTパラメータなどでそれぞれどのCSVをダウンロードするのか決定してるのかもしれません。その場合、pandasでは「read_csv」多分GETアクセスしかサポートしてないので、一回POSTリクエストでCSVをローカルにダウンロードしてから、read_csvで読み込ませてあげる必要があると思います。
manataku

2017/06/26 09:29

tell_Kさん お返事ありがとうございます。 素直にCSVダウンロードしてから pandasに読み込ませたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問