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

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

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

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

Python

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

Q&A

2回答

1793閲覧

pythonのseleniumでfacebookのスクレイピングができない

Sonono

総合スコア85

Python 3.x

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

Python

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

0グッド

0クリップ

投稿2019/05/11 10:01

Qiitaの記事を参考に、スクレイピングに挑戦してみたのですが、うまくいきません。Facebookにログインしてユーザー名をとってきたいです。

最後に書いてあるコードを実行すると、以下のようなエラー?が出てきます。文字化けしていて読みづらいのですが、Stop!と読めます。Facebookではスクレイピングが禁止されていてなにか警告されているとかでしょうか?

Facebookのスクレイピングの可否についての記事を読んだのですが、禁止されているのはスクレイピングなのかクローリングなのかよくわからなかったので詳しい方がいらっしゃったら教えていただきたいです。(全体的に禁止っぽい文面ですが、記事の後半に「10年以上にわたり、世界中の研究者やビジネス専門家がスクレイピング技術を利用してFacebookから収集した情報で、個人、グループ、社会を理解できる代表的なサンプルを作成し、データに隠されたまったく新しい機会を探っています。」とありよくわかりませんでした...。)

.\facebook_scraping.py:25: DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome(executable_path=r"C:\Webdriver\Chromedriver\chromedriver.exe", chrome_o ptions=op) DevTools listening on ws://127.0.0.1:61031/devtools/browser/5096f12a-7584-444c-b379-001115a79910 [0511/184103.902:INFO:CONSOLE(17)] " .d8888b. 888 888 d88P Y88b 888 888 Y88b. 888 888 "Y888b. 888888 .d88b. 88888b. 888 "Y88b. 888 d88""88b 888 "88b 888 縺薙l縺ッ髢狗匱閠・髄縺代・繝悶Λ繧ヲ繧カ繝シ讖溯・縺ァ縺吶 €・acebook讖溯・繧呈怏蜉ケ縺ォ縺吶k縺溘a縺セ縺溘・隱ー縺九・繧「繧ォ繧ヲ繝ウ繝医r繝上ャ繧ュ繝ウ繧ー縺吶k縺 溘a縺ォ縲√%縺薙↓菴輔°繧偵さ繝斐・繝サ雋シ繧贋サ倥¢縺吶k繧医≧縺ォ險€繧上l縺溷エ蜷医€√◎繧後・ 隨ャ荳芽€・′縺ゅ↑縺溘・Facebook繧「繧ォ繧ヲ繝ウ繝医∈縺ョ繧「繧ッ繧サ繧ケ繧貞セ励k縺溘a縺ョ隧先ャコ繝サ荳肴ュ」 陦檎ぜ縺ァ縺吶€・ "888 888 888 888 888 888 Y8P Y88b d88P Y88b. Y88..88P 888 d88P "Y8888P" "Y888 "Y88P" 88888P" 888 888 888 888 (中略) from unknown error: web view not found (Session info: headless chrome=74.0.3729.131) (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-head s/3729@{#29}),platform=Windows NT 10.0.17134 x86_64)

Python

1URL = "https://ja-jp.facebook.com/login/" # <= ここにスクレイピングしたい対象URLを書いてください 2ID = "taidana.ninngenndesu@gmail.com" # <= ここにログインIDを書いてください 3ID_sel = "#email" # <= ここにログインID欄のCSSセレクタを書いてください 4PASS = "Obiwan7face" # <= ここにログインパスワードを書いてください 5PASS_sel = "#pass" # <= ここにログインパスワード欄のCSSセレクタを書いてください 6Selector = "_1vp5"# <= ここにスクレイピングしたい対象URLを書いてください 7 8# 必須 9from selenium import webdriver 10from selenium.webdriver.chrome.options import Options 11from selenium.webdriver.support.ui import WebDriverWait 12from selenium.webdriver.support import expected_conditions as EC 13from selenium.webdriver.common.by import By 14from selenium.webdriver.common.keys import Keys 15from bs4 import BeautifulSoup 16 17# Selenium用オプション 18op = Options() 19op.add_argument("--disable-gpu"); 20op.add_argument("--disable-extensions"); 21op.add_argument("--proxy-server='direct://'"); 22op.add_argument("--proxy-bypass-list=*"); 23op.add_argument("--start-maximized"); 24op.add_argument("--headless"); 25driver = webdriver.Chrome(executable_path=r"C:\Webdriver\Chromedriver\chromedriver.exe", chrome_options=op) 26 27# ログインページアクセス 28driver.get(URL) 29WebDriverWait(driver, 30).until( 30 EC.presence_of_element_located((By.CSS_SELECTOR, PASS_sel)) 31) 32driver.find_elements_by_css_selector(ID_sel)[0].send_keys(ID) 33driver.find_elements_by_css_selector(PASS_sel)[0].send_keys(PASS) 34driver.find_elements_by_css_selector(PASS_sel)[0].send_keys(Keys.ENTER) 35 36# ターゲット出現を待機 37WebDriverWait(driver, 30).until( 38 EC.presence_of_element_located((By.CSS_SELECTOR, Selector)) 39) 40soup = BeautifulSoup(driver.page_source, features="html.parser") 41el = soup.select(Selector)[0] 42print(el.get("alt")) 43

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

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

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

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

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

yamato_user

2019/05/12 06:46

エラー内容はすべて掲載してください
guest

回答2

0

スクレイピングが禁止されているかどうかの問題ではないと思います。
確かに、Facebookのスクレイピングが相当難しいです。
趣味なら、ご自分の技術を上達しなければなりませんね。
仕事なら、専門の方に任せるほうがいいと思います。
OctoparseはFacebookのスクレイピングテンプレートをリリースしたそうです。
自動でデータを取得できます。

投稿2019/07/05 06:57

Yuki-Sakuraba

総合スコア163

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

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

0

Facebook側の問題を疑うより、まず先にすることがあるはずですよね。
あなたの技術は未熟です。エラーが起こっているのはあなたの技術に問題があります。今後もこのような問題に直面した際は、まず、自分の技術力を疑ってください。

エラー全文がわからないので推測で答えますが、、、
chrmedriverのバージョンの問題のようです。
解決法

投稿2019/05/12 06:50

yamato_user

総合スコア2321

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問