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

Python urlibなど、スクレイピングTIPS

Python urlibについて Webページを手軽に取得できる。 HTTPヘッダーのカスタマイズ、Basic認証など複雑な処理は苦手。 サードパーティライブラリのRequestsを使おう。 レスポン …

no image

【Python クローリング&スクレイピング】を読んで

紀伊国屋で買いました。 カバー外してます。 クローリングフレームワーク lxml Beautiful Soup Scrapy クローリング→データ収集 スクレイピング→収集したものからデータ抽出するこ …

no image

Ubuntu 16.04にPyCharm 2017.2.4をインストールする

PyCharm 2017.2.4をダウンロードする http://www.jetbrains.com/pycharm/download/download-thanks.html?platform=li …

no image

Pythonの文法

1行に1文だけ書いていく。 文字列は\”又は\’で囲む 例) urlopen(‘http://www.yahoo.com/’) 例) urlopen(& …

no image

Python3のお勉強

環境構築・Pythonのインストール PythonでHello World! 引数を与えてPythonスクリプトを実行する Pythonの文法 付録 Pythonコマンド 1.環境構築・Pythonの …