Skip to main content

net module 0.3.6 documentation

Author: JoStudio, Date: 2022/9/28

net Module

This net package provides tools to perform net ping, scan port, send email, http, web spider, access web API.

net.binary submodule

Read/write binary data in memory or data in a file

net.dns submodule

DNS protocol client / server

net.mail submodule

e-mail sender

# Send e-mail example



from net import Mail



# Set parameters

username = 'xxxxxxx@host.com'  # username to login SMTP server

password = 'xxxxxxxxxx'      # password to login SMTP server

receiver = 'xxxxxxxx@host.com'  # receiver e-mail address



mail = Mail(username, password)  # Create mail object



# Send mail with attachment file '1.jpg'

mail.send([receiver], 'My Subject', "This is body", ['1.jpg'])

net.scan submodule

Network ping and scan functions

# Net ping and scan examples



from net import Net



# ping a server(or an IP)

t = Net.ping("www.bing.com")  # return milliseconds, return -1 means not available

print('milliseconds', t)



# get IP address of this computer

my_ip = Net.local_ip()



# create an IP range (a list of IP address

ip_list = Net.ip_range(my_ip, 1, 100)

print(ip_list)



# Scan the IPs, return list of pingable IPs

exists_ips = Net.ip_scan(ip_list)

print(exists_ips)



# whether a port of specified IP is opened

if Net.is_port_open(my_ip, 80):

    print('port 80 of', my_ip, 'opened')

else:

    print('port 80 of', my_ip, 'not opened')





# scan a list of port on specified IP address, return opened port list

port_list = Net.port_scan(my_ip, [80, 8080, 21, 22, 443, 445])

print('opened ports', port_list)

net.spider submodule

Spider, get web page, extract word from the content, download file.

# Spider usage examples:



from net import Spider





# create a Spider object for specified url

url = "https://www.python.org/"

spider = Spider(url)





# You can user Spider.find_xxx() to find information in the web page



# find all links in the page

link_urls = spider.find_links()

print('links:', link_urls)



# find the links after 'Latest News'

link_urls = spider.find_links('Latest News')

print('links:', link_urls)





# find the links 'Latest News' and the link's url contains "blog."

link_urls = spider.find_links('Latest News', contains="blog.")

print('links:', link_urls)





# find the urls of the images in the page

img_urls = spider.find_images()

print('images:', img_urls)



if len(img_urls) > 0:

    # create a new spider to download the first image url, save image to filename 'pic.xxx'

    # (file extension will be added automatically)

    filename = Spider(url, img_urls[0]).download("pic")

    print('file %s downloaded' % repr(filename))



print("-----------------------------------")



# find the codes in the page

codes = spider.find_codes()

if codes:

    print('code:\n', codes[0])



print("-----------------------------------")



# find the list items after 'Latest News'

words = spider.find_list_items('Latest News')

print('Latest News:', words)



# find the text of the paragraph after 'Download'

text = spider.find_paragraph('Download')

print('Download paragraph: ', text)



tables = Spider("https://www.w3school.com.cn/tags/tag_table.asp").find_tables(text_only=True)

if len(tables) > 0:

    print('table 0:', tables[0].to_list())





# Advanced find example

#

# understanding the structure of webpage's HTML source code, find words in the HTML



# example: find the text of menu items

begin = ['<ul', 'menu']      # find '<ul' tag and 'menu' class as the beginning

end = ['</ul>']              # find '</ul>' tag as the ending

# word is the menu item text

before = ['<li', '<a', '>']  # find '<li' and '<a' and '>' which is before the word

after = ['</a>']             # find '</a>' which is after the word

words = spider.find_list(before, after, begin, end)

print("menus:", words)   # ['Python', 'PSF', 'Docs', 'PyPI', 'Jobs', 'Community']



# find the text of menu items and its links

# word1 is the link

before1 = ['<li', '<a', 'href="']  # find '<li' and '<a' and 'href="' which is before the word1

after1 = ['"']     # find '"' which is after the word1



# word2 is the menu text

before2 = ['>']  # find '>' which is before the word2, after word1

after2 = ['</a>']  # find '</a>' which is after the word2



# compose a list definition, each item of the list is a word define (before, after)

betweens = [(before1, after1), (before2, after2)]



# perform finding

words_list = spider.find_words_list(betweens, begin, end)

print("menus2:", words_list)  # words_list will be a list, each item is a list of two words

# the result is  [['/', 'Python'], ['/psf-landing/', 'PSF'], ...

Release files for jojo-net 0.3.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jojo-net 0.3.7
File Size Uploaded
jojo-net-0.3.7.tar.gz 66.9 kB Details

Release files / jojo-net-0.3.7.tar.gz

Download URL jojo-net-0.3.7.tar.gz
Size 66.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5b9afa4ddf8c59988d63f7be590f74af0ff14691231d439ec73be6146f9e095d
BLAKE2b-256 checksum
How to use checksums
79b0f3352ac66952f8d5ce19f827eac006d28ebf7ce2eb247a13ff6ff5ca2b87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.3.7 This release

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page