前提・実現したいこと
BeautifulSoupをつかって下記URLの価格情報をとろうとしていますが、
HTMLのコードないに価格やホームページの情報が出てきません。
URL:https://www.bhphotovideo.com/c/product/1515337-REG/panasonic_aw_ue4kg_compact_4k_ptz_hdmi.html
URL:https://www.videoplusfrance.com/4094022-panasonic-aw-ue4kg-camera-ptz-4k-grand-angle-noire.html
どうすれば価格を抽出できますか?BeautifulSoupの使い方として.findや.select_oneなどの使い方わかっているつもりですが、
対象のDiv classがみつからなくて困っています。。。
発生している問題・エラーメッセージ
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="utf-8"/> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <meta content="IE=Edge,chrome=1" http-equiv="X-UA-Compatible"/> <meta content="noindex, nofollow" name="robots"/> <meta content="width=device-width,initial-scale=1" name="viewport"/> <title> Just a moment... </title> <style type="text/css"> html, body {width: 100%; height: 100%; margin: 0; padding: 0;} body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;} h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;} p {font-size: 20px; font-weight: 400; margin: 8px 0;} p, .attribution, {text-align: center;} #spinner {margin: 0 auto 30px auto; display: block;} .attribution {margin-top: 32px;} @keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} } @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} } #cf-bubbles > .bubbles { animation: fader 1.6s infinite;} #cf-bubbles > .bubbles:nth-child(2) { animation-delay: .2s;} #cf-bubbles > .bubbles:nth-child(3) { animation-delay: .4s;} .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; } a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; } a:hover{color: #f4a15d} .attribution{font-size: 16px; line-height: 1.5;} .ray_id{display: block; margin-top: 8px;} #cf-wrapper #challenge-form { padding-top:25px; padding-bottom:25px; } #cf-hcaptcha-container { text-align:center;} #cf-hcaptcha-container iframe { display: inline-block;} </style> <meta content="35" http-equiv="refresh"/> <script type="text/javascript">
該当のソースコード
from bs4 import BeautifulSoup import requests url = "https://www.bhphotovideo.com/c/product/1515337-REG/panasonic_aw_ue4kg_compact_4k_ptz_hdmi.html" dummy_user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0' response = requests.get(url, headers={"User-Agent": dummy_user_agent}) soup = BeautifulSoup(response.text, 'html.parser') html = soup.prettify() f = open('prettify.html', 'w', encoding='UTF-8') f.write(html) f.close() print(html)
試したこと
元々WEBスクレイピングをやろうとして「HTTP Error 403 Forbidden」が出て回避しようと上記のやり方で試したがうまくいかずで詰まっています。
補足情報(FW/ツールのバージョンなど)
Jupyter lab PYTHON
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/08 01:35
2021/12/08 03:11 編集