Python スクレイピング

URLの構造

投稿日:2017年10月22日 更新日:

http://hoge.sample.com/category/diet?q=drink#ojousama

  • スキーム scheme httpやhttpsのようにプロトコルを表す
  • オーソリティ authority ホスト名やドメインを表す。
  • パス path ホストにおけるリソースのパスを表す。
  • クエリ query パスとは異なるリソースを表す。
  • フラグメント fragment リソース内の特定の位置を表す。

PythonでURLの解析

urllib.parse を使用する。 URL を解析して構成要素にするモジュールである。

>>> from urllib.parse import urlparse
>>> o = urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
>>> o.netloc
'www.cwi.nl:80'
>>> o.hostname
'www.cwi.nl'
>>> o.path
'/%7Eguido/Python.html'

 

しかし、例えば https://discussions.apple.com/このようなURLの場合、

>>>o.hostname
discussions.apple.com

となってしまう。
ドメインだけ取得したい場合は、さらに正規表現などで抽出する必要がある。

<参考>

https://docs.python.jp/3/library/urllib.parse.html

https://wiki.suikawiki.org/n/URL

-Python, スクレイピング

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Ubuntu 16.04で pycharm でPython2 開発環境構築

no image

PythonでWebサイトをクローリング・スクレイピングの実践

 各モジュールの公式ドキュメント モジュール バージョン ドキュメントURL 言語 Python 3 https://docs.python.jp/3/index.html 日本語 urllib ht …

no image

mecab

mecabとは? 自然言語処理ライブラリである。 形態素解析 与えられた文章を形態素という文章の最小単位に分解し、その最小単位の品詞や読みを判別すること。 公式ドキュメント MeCab: Yet An …

no image

python3のloggingを呼ぶための自作logger.pyは作るときにハマったこと

python3 の標準ログ出力モジュールであるlogging。 これを自作のlogger.pyにあるgetLoggerから返そうとした。 loggerの取得を共通関数化したかったからです。 すると、メ …

no image

Python3 RotatingFileHandlerでログファイルサイズを抑えて世代管理

RotatingFileHandlerは何世代までローテーションできる? RotatingFileHandlerは何世代でもローテ―ションできるようです。 args=(“log/app.log”, ‘ …