困ったー

WIN10・アプリ・ゲームで困ったことを調べてみた

「こまったー」は困ったことを調べたブログです。

コロナ対策 |  Teams |  ARK |  Satisfactory |  フォートナイト

スポンサーリンク


【Visual Studio 2019】Pythonでインターネットの関数のまとめ

 Pythonはスクレイピングなどによく利用されます。

ここではネット関連の関数について紹介してきます。

Pythonでネットを扱う関数のまとめ

ライブラリで必要なものはあらかじめインストールしましょう。

internet tunnel

 

ホスト名の取得

socketライブラリを利用します。

 

import socket
print(socket.gethostname())

 

IPアドレスの取得

ホスト名を渡してIPアドレスを取得します。

import socket
myhost=socket.gethostname()
print(socket.gethostbyname(myhost))

 

pingを送る

pingはサーバが稼働しているかどうか調べるために利用します。

ここでは「pings」というライブラリを利用するため、事前に利用可能にしておく必要があります。

 

 

import pings
p = pings.Ping()
res = p.ping("komatter.com")
res.print_messages()

 

実行し、サーバがもんだしなければこのように何バイトがどのぐらいの秒数をへて送られてきたかわかります。

f:id:apicode:20190627171251p:plain

 

ウェブページのテキストを取得

Requestsというライブラリを使ってウェブブラウザを開くことができます。

このライブラリはpipであらかじめ利用できるようにインストールしておく必要があります。

 

以下は、reuestsを使って取得後、textを出力させています。

import requests
response = requests.get("https://komatter.com/")
print (response.text)

 

で、実行すると、このようにコンソールへHTMLのソースコードが表示されます。

このコードをさらに正規表現などで分解すると、特定のデータを取得できることになります。

f:id:apicode:20190627170711p:plain

 

PDFのテキストを取得

PyPDF2を使うとPDFのハンドリングをPythonから行うことができます。

あらかじめPyPDF2ライブラリをインストールしておきます。

 

以下は「sample.pdf」を開き、PyPDF2を使ってロードします。

1ページ目の情報を取得し、「extractText」で文字データを抜き出しています。

 

import PyPDF2
fn = 'sample.pdf'
with open(fn, mode='rb') as f:
reader = PyPDF2.PdfFileReader(f)
page = reader.getPage(0)
print(page.extractText())

 

 

 

Pythonでブラウザを扱う関数のまとめ

ブラウザの起動

Webbrowserというライブラリを使ってウェブブラウザを開くことができます。

このライブラリはpipでインポートしなくても利用可能です。

ただしこのライブラリはインターネットエクスプローラが既定となっているためかIEが起動してしまいます。

import webbrowser
webbrowser.open("komatter.com")

 

 

 


Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ
最新価格は以下のおすすめストアで確認ください。
楽天 >>
Amazon >>
Yahoo!ストア >>

 

[Visual StudioでPython]

  1. 【Visual Studio 2019】Pythonの始め方 インストールは?PIPは?
  2. 【Visual Studio 2019】Pythonでインターネットの関数
  3. 【Visual Studio 2019】Pythonで文章や画像解析
  4. 【Visual Studio 2019】PythonでTkinterを使うには?

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ