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

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

新規登録して質問してみよう
ただいま回答率
85.50%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python 3.x

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

Python

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

Q&A

解決済

3回答

5635閲覧

[python]BeautifulSoup4をインストールしても反応しない

hyugasatsuman5

総合スコア18

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python 3.x

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

Python

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

0グッド

1クリップ

投稿2017/11/29 21:42

###前提・実現したいこと
はじめまして、ここで初めて質問させていただきます

Pythonでサイトをスクレイピングしようと思っています
そこでBeautifulSoup4をインストールしてスクレイピングしようと思ったのですがいくらやってもエラーが出てしまいます
おそらくBeautifulSoupというモジュールはないという主旨のエラーだと思うのですがどうやったら解決しますか、プログラムも初心者なのでできたら分かりやすく教えていただけますか

スペック
Windows8.1
Python3.6.3
Pycharm
###発生している問題・エラーメッセージ

C:\Users\私のユーザー名\PycharmProjects\untitled1\venv\Scripts\python.exe C:/Users/私のユーザー名/PycharmProjects/untitled1/nikkei.py Traceback (most recent call last): File "C:/Users/私のユーザー名/PycharmProjects/untitled1/nikkei.py", line 3, in <module> import BeautifulSoup ModuleNotFoundError: No module named 'BeautifulSoup' Process finished with exit code 1

###該当のソースコード

#coding: UTF-8 import urllib import BeautifulSoup url = "https://www.nikkei.com/" html = urllib.urlopen(url) soup = BeautifulSoup(html, "html.parser") title_tag = soup.span print (title_tag)

###試したこと

BeautifulSorpのとこだけ波線が出ていたので認識してないと思いました

importの前にfrom bs4をつけていましたが同じエラーが出ました

from bs4 import BeautifulSoup

BeautifulSoupの他にBeautifulSoup4、beautifulsorp、beautifulsorp4と入力してみましたがまた同じエラーが出ました

インストールしたときにコマンドプロンプトでpipでインストールしようとしたんですが

C:\Users\私のユーザー名>pip install beautifulsoup4 Collecting beautifulsoup4 Using cached beautifulsoup4-4.6.0-py3-none-any.whl Installing collected packages: beautifulsoup4 Exception: Traceback (most recent call last): File "c:\program files\python36\lib\site-packages\pip\basecommand.py", line 21 5, in main status = self.run(options, args) File "c:\program files\python36\lib\site-packages\pip\commands\install.py", li ne 342, in run prefix=options.prefix_path, File "c:\program files\python36\lib\site-packages\pip\req\req_set.py", line 78 4, in install **kwargs File "c:\program files\python36\lib\site-packages\pip\req\req_install.py", lin e 851, in install self.move_wheel_files(self.source_dir, root=root, prefix=prefix) File "c:\program files\python36\lib\site-packages\pip\req\req_install.py", lin e 1064, in move_wheel_files isolated=self.isolated, File "c:\program files\python36\lib\site-packages\pip\wheel.py", line 345, in move_wheel_files clobber(source, lib_dir, True) File "c:\program files\python36\lib\site-packages\pip\wheel.py", line 316, in clobber ensure_dir(destdir) File "c:\program files\python36\lib\site-packages\pip\utils\__init__.py", line 83, in ensure_dir os.makedirs(path) File "c:\program files\python36\lib\os.py", line 220, in makedirs mkdir(name, mode) PermissionError: [WinError 5] アクセスが拒否されました。: 'c:\program files\py thon36\Lib\site-packages\beautifulsoup4-4.6.0.dist-info'

と出ていたので管理者権限でコマンドプロンプトを開き同じくインストールしたらそのときはインストールできました

C:\WINDOWS\system32>pip install beautifulsoup4 Collecting beautifulsoup4 Using cached beautifulsoup4-4.6.0-py3-none-any.whl Installing collected packages: beautifulsoup4 Successfully installed beautifulsoup4-4.6.0
C:\WINDOWS\system32>pip list DEPRECATION: The default format will switch to columns in the future. You can us e --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.con f under the [list] section) to disable this warning. asn1crypto (0.23.0) beautifulsoup4 (4.6.0) cffi (1.11.2) cryptography (2.1.3) idna (2.6) pip (9.0.1) pycparser (2.18) pyOpenSSL (17.4.0) setuptools (28.8.0) six (1.11.0)

管理者権限でインストールしたことをおもいだしたので
Program filesのアクセス権をフルコントロールしてみましたが同じ結果になりました

もう一度再インストールしてみましたが管理者権限のコマンドプロンプトでしか受付せず結果同じエラーになってしまいます

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

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

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

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

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

guest

回答3

0

ベストアンサー

pip listの結果からbeautifulsoup4自体のインストールはできているようです。多分素のpythonを直接使うとimportできると思います。問題はPyCharmの設定にあるのだと思います。

詳しくないので推測ですが...PyCharmでプロジェクトを作るとvenvというフォルダーがプロジェクト直下にできていることからPyCharmではプロジェクト毎に異なる環境を作れるようになっているのだと思います。つまりプロジェクト作成直後は「pythonをインストールしただけの状態」になっているのだろうと思います。実際にfrom bs4 import BeautifulSoupとやると「モジュールがない」とエラーになります。

そこで「PyCharm import できない」で検索したところ対処法が書いてあるページがヒットしました。

対処は(自分に分かった限り)2つほどあるようで

対処1:当該プロジェクトにネットワークからモジュールを個別インストール

File>Settings...>Project:プロジェクト名>Project Inspectorとし
右上のProject Interpreter:でPython 3.6(プロジェクト名)を選択した状態で右のほうの緑の'+'ボタンを押す。利用可能なモジュール一覧がでる(これはインターネットの向う側のどっかのリポジトリーに登録されているものの一覧だと思います)ので、ここでモジュールを選択してインストール。最後に右下のApplyボタン&OK

対処2:当該プロジェクトのPython環境をPCのデフォルトに合わせてしまう

File>Settings...>Project:プロジェクト名>Project Inspectorとし
右上のProject Interpreter:でPython 3.6(C:\Program Files\Python\Python36\python.exe)を選択してApplyボタン&OK

対処1だとせっかくPCへインストールしたものをわざわざ個別にインストールすることになるのでしょうからHDDがもったいない気がします。とりあえず対処2にしておくとPCへインストールした全てのモジュールがそのプロジェクトでimportできるようになるみたいです。

なお、常に対処2をするのがめんどくさい場合

File>Default Settings...>Project Inspectorで対処2と同じ操作をすると新規プロジェクトを作成した場合、PCの環境と常にあった状態にすることもできそうです(やってないので想像です)

投稿2017/11/30 00:29

編集2017/11/30 00:30
KSwordOfHaste

総合スコア18392

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

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

KSwordOfHaste

2017/11/30 00:31

YouheiSakuraiさんコメントにあるようにtypo(綴りミス)にも気を付けてください。PyCharm上ではtypoはすぐに気づける(ガイドがでるから)ので間違うことは少ない気がしますが・・・
hyugasatsuman5

2017/11/30 01:30

回答ありがとうございます 対処2の方法で行い解決しました
KSwordOfHaste

2017/11/30 01:36

あ・・・このコメントの方法はご存じだったのかなw; 今気づきました・・・
guest

0

タイポです。

https://www.crummy.com/software/BeautifulSoup/

You can install Beautiful Soup 4 with pip install beautifulsoup4.

pip install beautifulsoup4

それから

python

1from bs4 import BeautifulSoup

です。

投稿2017/11/30 00:08

編集2017/11/30 00:14
YouheiSakurai

総合スコア6142

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

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

YouheiSakurai

2017/11/30 00:11

ダメなら pip install --upgrade --no-deps --force-reinstall beautifulsoup4 でパッケージを再インストールしてみてください。
hyugasatsuman5

2017/11/30 01:31

from bs4を付け加えたら動きました 回答ありがとうございます
guest

0

上記の書いたのは動きませんでしたので下記に動いたのを訂正します

#coding: UTF-8 import urllib.request from bs4 import BeautifulSoup url = "https://www.nikkei.com/" html = urllib.request.urlopen(url) soup = BeautifulSoup(html, "html.parser") title_tag = soup.span print (title_tag)

投稿2017/11/30 01:35

編集2017/11/30 01:40
hyugasatsuman5

総合スコア18

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問