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

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

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

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

Q&A

2回答

1395閲覧

下記のコードのスクレーピングができません。powershellに書き出したいです。python初心者です。どなたか手順を教えていただけると助かります。

kenmori

総合スコア18

Python

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

0グッド

1クリップ

投稿2018/12/02 08:42

python

1 2import requests 3from bs4 import BeautifulSoup 4 5 6def main(): 7 8 # connpass の PyNumon#8 のイベント参加者・申込者一覧のURL 9 url = 'https://python-nyumon.connpass.com/event/100817/participation' 10 11 # requests で参加者一覧の情報と取得する 12 response = requests.get(url) 13 14 # response から HTML 部分(content) を取得 15 content = response.content 16 17 # BeautifulSoup に content を渡して解析の準備をする 18 soup = BeautifulSoup(content, 'html.parser') 19 20 # <div class="participation_table_area mb_18"> に該当するものを取り出す 21 # participation_tables は List 22 participation_tables = soup.find_all('div', class_='participation_table_area mb_20') 23 24 # participation_tables を順番に見て、"講師・メンター枠"の情報を取り出す 25 for participation_table in participation_tables: 26 # <table><thead><tr><th> に該当するタグの要素を取り出す (参加者枠の種類が記載されているので) 27 participant_type = participation_table.table.thead.tr.th.get_text() 28 29 # 参加者枠を示す文字に "講師・メンター枠" が含まれるものを取り出す 30 if '通常参加枠' in participant_type: 31 mentors_table = participation_table 32 break 33 34 # 講師・メンター枠の HTML の中で class=display_name に該当するものを取り出す 35 # mentor_names は List 36 mentor_names = mentors_table.find_all(class_='display_name') 37 38 # 取り出した 講師・メンター枠の要素から純粋な名前だけを取り出す(前後の無駄な空行や改行などを取り除く) 39 for mentor_name in mentor_names: 40 print(mentor_name.get_text().strip()) 41 42 43if __name__ == '__main__': 44 main() 45 46 47 48

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

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

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

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

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

guest

回答2

0

コード確認しました。windowsではありませんが、コードの実行はできるようです。
エラーの状況がないのでなんともいえませんが、環境構築ができていないか
ファイルのパスが間違ってことが考えられます。

投稿2018/12/02 11:50

GOTA77

総合スコア160

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

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

kenmori

2018/12/02 14:54

ご丁寧にご回答いただきありがとうございます。 未だ実行できません。実行方法に何らかの問題があるようです。 いろいろ試してみます。 ありがとうございました。
GOTA77

2018/12/02 15:23

windows はシバンを書かないで、ファイルと関連づけます。 また、実行するインタプリンタの位置を移動させた場合もpathが通っていないので実行できない可能性があります。 powersell で >python で対話モードが立ち上がるか確認してみてはどうでしょうか? 立ち上がる場合は、ファイルのある位置に移動して >python ファイル名 で実行すると動くかもしれません。
kenmori

2018/12/02 16:02

ご丁寧にありがとうございます。 教えていただいた方法を早速試しました。 PS C:\Users\ユーザー名> python Python 3.7.1 (v3.7.1:260ec2c6a, Oct 20 2018, 14:05:16) [MSC v.191 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> python sample1.py File "<stdin>", line 1 python sample1.py ^ SyntaxError: invalid syntax >>> となりエラーとなりました。 > python は成功したのでしょうか? そのあと >>> となってしまいます。 困りました。。
GOTA77

2018/12/02 16:08

windows は 対話モードCtrl+z+Enterでコンソール終了です。 抜けたあとpython sample1.pyで実行してみてください。
kenmori

2018/12/03 02:36

大変お世話になっております。 ご連絡が遅くなり申し訳ありません。 下記で試してみました。 python sample.py でも 試しに sample.py でも試しましたが、やはりエラーが出てしまいます。 設定の問題でしょうか? Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\Users\ユーザー名> python Python 3.7.1 (v3.7.1:260ec2c3, Oct 20 2018, 14:05:16) [MSC v.1917 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> ^Z PS C:\Users\ユーザー名> python sample1.py C:\Users\ユーザー名\AppData\Local\Programs\Python\Python37-32\python.exe: can't open file 'sample1.py': [Errno 2] No such file or directory PS C:\Users\ユーザー名> sample1.py sample1.py : 用語 'sample1.py' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプロ グラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合は そのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1 + sample1.py + ~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (sample1.py:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\ユーザー名>
GOTA77

2018/12/03 03:14

ファイルが参照できないようです。 カレントディレクトリーの直下にファイルがないかファイル名の指定が間違えています。 ファイル名はtabの入力補完機能を使うなどすれば、防げると思います。 ディレクトリーについては、まずファイルのフルパス(フォルダーの位置)を確認してください。 現在のカレントディレクトリーはコマンドpwdで表示されます。 コマンド ls でファイル一覧を表示させてなければ、コマンドcdでファイルのある位置まで移動して実行します。 参考 https://docs.microsoft.com/ja-jp/powershell/scripting/core-powershell/ise/how-to-use-tab-completion-in-the-script-pane-and-console-pane?view=powershell-6 https://pc-karuma.net/windows10-file-full-path-copy/ https://qiita.com/ShotaKameyama/items/1d3784183f1b00ce98e5
barobaro

2018/12/03 04:39

とりあえずmain()の後ろにinput()を追加してxxxx.pyをダブルクリックの方が早いかと ```python if __name__ == '__main__': main() input() ```
kenmori

2018/12/03 12:57

いろいろと試行錯誤して下さりありがとうございます。 上記試しましたが、まだ実行できません。 「xxxx.pyをダブルクリック」 とはどこの xxxx.py をクリックするのですしょうか?
barobaro

2018/12/03 14:22

sample1.pyです
GOTA77

2018/12/03 14:26

コードを書いたファイルのファイルアイコンだと思いますよ。 私の力不足でシェルの使い方を伝えるのはむずかしかったかもしれません。 Powershell で開発を行いたいならシェルの使い方を一度参考書で勉強したほうがいいかもしれません。 個人的にはPowershell は独自なコマンドなのであまり。。。linuxかMacのほうがシェルは簡単です。 コマンドラインを使用しないで開発するIDE環境もあるのでそれもよいかもしれません。 環境構築があれでしたら、web上にあるGoolgle の Colaboratoryというサービスでノートブック形式でPythonを学ぶことができます。
kenmori

2018/12/03 15:04

お世話になっております。 コードを書いたファイルのファイルアイコンが見付かりません。 思ったより奥が深いですね。 powershellはこの前の講師の方が、PCで代わりに実行してくれたのですが、自分で実行しようとしてもできません。 使用する際に何かの入力等が必要なのかもしれません。 ありがとうございます。 Colaboratory はグーグル会員であり登録が必要なのですね。 自分なりに他のことをやりつつ気長に研究してみます。 本当にありがとうございます。
kenmori

2018/12/05 07:21

先日より大変お世話になっております。 実はさ昨日ある方より教えていただき実行することができました。 講座のマニュアルに入力すべき2行が書いてありその入力と、powershell での一行目が特殊な入力でした。 この度は善意に感謝申し上げます。 ありがとうございました。
GOTA77

2018/12/05 10:19

実行権限の設定か何かでしょうか?実行できてなによりです。 あとから勉強される人のために、解決されたら解決方法を自己回答という形で投稿されるといいでしょう。
kenmori

2018/12/31 05:58

ご連絡が大変遅くなりすみません。いろいろと教えていただきありがとうございました。 あの後PCがおかしくなり、初期化して始めましたらまた出来なくなりました。その後講座の先生に教えていただきました。 メモ帳を使ってコードを書いていたもの問題で、メモ帳を利用した場合は特殊なコードを記載しなければ実行できないということでした。 なのでVisual Studio Codeというものをダウンロードしてそれに書いて普通に実行すると出来ました! いろいろとありがとうございました!
guest

0

私も同じく初心者ですが、昨日参加した「入門者向けハンズオン」の内容でしたので回答してみます。

資料のページには、コピーされたコードの下に「上記の内容を pynyumon8-mentors.py といった適当な名前のファイルに保存して実行すると利用できます。」と書いてあります。
ご利用のエディターに上記のコードをコピーして、保存したうえで、powershell側で実行することになります。
powershellでは、「>>>」となっている状態ではなく、「>」となっている、保存したファイルのある場所で実行する必要があります。
実行するには、pythonの後ろに半角スペースを入れてからファイル名です。

手順を教えてほしいということでしたが、求められているのはこういうことでしょうか。

投稿2018/12/02 11:28

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

kenmori

2018/12/02 14:59

昨日参加されたのですね。同じ受講生の方なのにすみません。あの場では講師の方に見てもらって出来たのですが、自分で試すと出来なくなっていました。 PS C:\Users\ユーザー名> ファイル名 でしょうか? これで試しても出来ません。 間違えているでしょうか? ご教授いただけると幸いです。 よろしくお願い致します。
退会済みユーザー

退会済みユーザー

2018/12/05 12:17

気になりつつも私がその後見られない間に、解決できたようでなによりです。 私も現在進行形で復習中なので、逆に不明な点があった場合にはよろしくお願いします。
kenmori

2018/12/31 06:02

あの後パソコンを初期化した影響でまた出来なくなりあの時の講座の先生に教えていただきました。普通にできました!上に書いた方法です。あれ?あの時お話しした方ですかね?女性の方人数が少なかったのでどなたかなあ?まだまだ私は学習段階ですのでお教えすることなどできませんが、今後とも何とぞよろしくお願い致します!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問