beautiful soupでスクレイピングした時、取得したhtmlが実際のソースと違う現象
どうも。のらくらです。
趣味でpythonのbeautiful soupを使ってスクレイピングの練習をしてたんですけど、
何故かあるはずのp要素が取得できないという現象にぶち当たってました。
なんでだ~と頭を悩ませて、pタグの上位のdivを取得しても、そもそもpタグが存在しないような扱い。
実際のソースとbeautiful soupで取得したhtml(DOMっていうんですか?)が異なっているようでした。
エンジニアでもないので詳しいことが分からずぐぐること小一時間...。
何故か解決しました!
from bs4 import BeautifulSoup
import urllib.request
url = "http://~~~~"#自サイトURL
f = urllib.request.urlopen(url)
html = f.read().decode('utf-8')
soup = BeautifulSoup(html, "html.parser")
の最後の行を
soup = BeautifulSoup(html, "lxml")
にしたところちゃんと取得できるように。
ちなみに参考にさせて頂いたのはこちらの記事↓
完全に助かった。
趣味とはいえ直せないと気持ち悪かったので。