移動中のWifiない(あるいは貧弱な)環境で思いつきました。
結論はローカルファイルにあるhtmlファイルをopenしてreadするというだけの話です。
下記サンプルを実行するためには、 "http://quotes.toscrape.com/" へあらかじめアクセスして、ブラウザ上でctrl+Sしてhtmlファイルをローカルファイル"Quote Quotes to Scrape.html"へダウンロードしておく必要があります。
また、当然のことながら、ネットワークアクセスがない状態で試すためにLANケーブルを抜くなり、フライトモードにして実行してください。
import requests
from bs4 import BeautifulSoup
WIFI = False
if WIFI: # Wifiアクセスできるときはインターネットから取得
base_url = "http://quotes.toscrape.com/"
r = requests.get(url).text
else: # Wifiアクセスできないときはローカルファイルから取得
base_url = "./Quotes to Scrape.html"
with open(base_url) as f:
r = f.read()
soup = Beautifulsoup(r, "html.parser")
# >>> soup.li.a
# => <a href="http://quotes.toscrape.com/page/2/">Next <span aria-hidden="true">→</span></a>
WIFIがあるときはrequestsでインターネットへアクセスし、
WIFIがないときはローカルファイルからHTMLをstrとして読み込みます。
WIFIがあるかどうかも自動化するなら、pingコマンドをsubprocessから打つなり、Ping3, Pingsモジュールを使って実行するとよいそうです。