第268問PythonでWebサイトにアクセスし、HTTPでデータの送受信を行うためのライブラリはどれか。
- ARequests
- BScrapy
- CSelenium
- DBeautifulSoup4
教科書5章にあたる応用範囲で、スクレイピングやAPIによるデータ収集、PDF・Word・Excelなど各種ファイルからのテキスト抽出、自然言語処理の前処理(形態素解析、Bag of Words、TF-IDF)、画像データの取り扱いといった実務寄りの内容を扱う。公式の出題範囲表ではこの章の問題数は0問・0%とされており、合否に直結する領域ではない。一方で、集めたデータをpandasに載せるまでの流れを知っておくと、前半で学ぶ処理が何のためのものかがつながる。試験対策としての優先度は下げてよいが、実務でPythonを使うなら出番の多い領域。
この分野の問題37問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。
クイズモードで挑戦 →正解:A.beautifulsoupと指定すると古いバージョンがインストールされる
間違えてbeautifulsoupと指定すると古いバージョンがインストールされるため注意が必要です。
この問題の解説ページを開く →正解:C.BeautifulSoup(text, 'html.parser')
BeautifulSoupの第2引数にはパーサーである'html.parser'を指定します。
この問題の解説ページを開く →正解:C.取得速度を最大化するためマルチスレッドで間隔をあけずにアクセスする
Cは無間隔の連続アクセスでサーバー負荷を高めるため不適切。A・B・Dはいずれも負荷や他利用者への配慮として適切です。
この問題の解説ページを開く →正解:B.CountVectorizer
scikit-learnのfeature_extraction.text.CountVectorizerクラスを用いてBoWを計算できます。
この問題の解説ページを開く →正解:D.1つの文書の中に現れる全単語の合計出現回数のうち1つの単語が出現した割合
TFは1つの文書の中に現れる全単語の合計出現回数のうち、1つの単語がどれだけの割合で出現したかを示す指標です。
この問題の解説ページを開く →正解:C.特定の文書にしか現れない単語がその文書の中で大量に出現する
TF-IDFが高くなるのは、一部の特定の文書にしか現れない単語が1つの文書の中で大量に出現するときです。
この問題の解説ページを開く →正解:A.(左上x, 左上y, 右下x, 右下y) のタプル
cropメソッドの領域指定は、左上と右下の座標をまとめた(左上x, 左上y, 右下x, 右下y)のタプルで渡します。
この問題の解説ページを開く →正解:D.IDFは文書が扱うトピックの数を表す指標である
IDFは「ある単語が出現する文書が文書全体の中でどのくらいの割合を占めていたか」の逆数の対数であり、トピック数ではありません。
この問題の解説ページを開く →