まさにその発想はなかった……という感じなのですが ベトナムや中国でネットを使ったことがある人にはお馴染みの"8.8.8.8"に接続し、 そこで返ってきたソケット名をもって自分のIPをしる方法があります。 import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(("8.8.8.8", 80)) s.getsockname() # >>> ('192.168.100.101', 52964) s.getsockname()[0] # >>> '192.168.100.101'文字列で返ってくるので、標準ライブラリipaddressとの連動も可能 import ipaddress paddress.ip_address(s.getsockname()[0]) IPv4Address('192.168
Overview これ の python3 と javascript 版。 javascript でブラウザで動かせるやつが欲しかったのだけど、意外と手こずったので、一度 python で書いてから js で書き直した。 検証はこの辺で。 python3 版 netaddr っていうお手本があるので、これを使うと楽。 ちなみに netaddr.iprange_to_cidrs っていうそのまんまな実装がすでにあるけど、今回は手書きしたかったので使いません。 import netaddr import math def iprange2cidr(start, end): iMask = lambda s: (2**32 - 2**(32-s)) while end >= start: max_size = 32 while max_size > 0: assert 0 < max_size
Pythonとipaddressライブラリで、 ネットワークエンジニアがよく使うIPアドレスを表現する方法を例示します。 from ipaddress import ip_interface >>> ip = ip_interface("192.168.1.124/24") >>> ip IPv4Interface('192.168.1.124/24') >>> str(ip) '192.168.1.124/24' はじめに PythonでIPアドレスを取り扱う方法を調査してみました。 過去に、Rubyで調査したので、ほぼ同じことをできるか、Pythonで調査しました。 ネットワークエンジニアのためのIPアドレス計算 for Ruby Python3.3から標準モジュールとしてipaddressライブラリが追加となっています。 より詳細な解説は、ライブラリのドキュメントを参照してください。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? IPアドレスをいじくりまわしたり、IPアドレスの比較・判定、CIDR作成・結合や分解、 レンジ範囲操作でなどネットワークエンジニアは活用する機会が多いnetaddrの自分用に使い方メモまとめ。 メモなんで今後随時追加していきます。 1. netaddrインストール pipコマンドでインストール pip install netaddr 2.netaddr読み込み from netaddr import * 3 netaddr基本操作 IPアドレスの種類出力 ip = IPAddress('192.0.2.1') print(ip.vers
自然言語処理では、しばしばコーパスを作るためにWeb上のリソースを利用します。そのためにスクレイピングをするのですが、大量のリクエストを特定のサイトに送るとBanされる可能性があります。今回はそれを防ぐ一つの方法を書きます。(悪用厳禁) TL;DR 概要 コード例 metadata.py requestsを使った接続 サーバリストの見つけ方 参考 TL;DR VPNを使おう。 概要 nordvpnのようなVPNを使えば、数十の国の数千のサーバを利用することができます。もし、これらの膨大なサーバリストを使ってスクレイピングに利用することができれば、以下の2つのメリットがあります: ランダムにIPを変え続ければブロックされる可能性が下がり、仮にブロックされても別のサーバーのIPを使えばいい。 複数のサーバのIPを利用してスクレイピングするので、並列化すれば、time.sleepの間隔を長めにし
Advanced Python Web Scraping: Best Practices & Workarounds Here are some helpful tips for web scraping with Python. Scraping is a simple concept in its essence, but it's also tricky at the same time. It's like a cat and mouse game between the website owner and the developer operating in a legal gray area. This article sheds light on some of the obstructions a programmer may face while web scraping
An approach using Scrapy will make use of two components, RandomProxy and RotateUserAgentMiddleware. Modify DOWNLOADER_MIDDLEWARES as follows. You will have to insert the new components in the settings.py: DOWNLOADER_MIDDLEWARES = { 'scrapy.contrib.downloadermiddleware.retry.RetryMiddleware': 90, 'tutorial.randomproxy.RandomProxy': 100, 'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く